@@ -49,25 +49,6 @@ public void Dispose()
49
49
50
50
public void EnrichAndCreateScopeItem ( LogEvent logEvent , ILogEventPropertyFactory propertyFactory , out LogEventPropertyValue ? scopeItem )
51
51
{
52
- void AddProperty ( string key , object ? value )
53
- {
54
- var destructureObject = false ;
55
-
56
- if ( key . StartsWith ( "@" ) )
57
- {
58
- key = SerilogLogger . GetKeyWithoutFirstSymbol ( SerilogLogger . DestructureDictionary , key ) ;
59
- destructureObject = true ;
60
- }
61
- else if ( key . StartsWith ( "$" ) )
62
- {
63
- key = SerilogLogger . GetKeyWithoutFirstSymbol ( SerilogLogger . StringifyDictionary , key ) ;
64
- value = value ? . ToString ( ) ;
65
- }
66
-
67
- var property = propertyFactory . CreateProperty ( key , value , destructureObject ) ;
68
- logEvent . AddPropertyIfAbsent ( property ) ;
69
- }
70
-
71
52
if ( _state == null )
72
53
{
73
54
scopeItem = null ;
@@ -84,7 +65,7 @@ void AddProperty(string key, object? value)
84
65
if ( stateProperty . Key == SerilogLoggerProvider . OriginalFormatPropertyName && stateProperty . Value is string )
85
66
scopeItem = new ScalarValue ( _state . ToString ( ) ) ;
86
67
else
87
- AddProperty ( stateProperty . Key , stateProperty . Value ) ;
68
+ AddProperty ( logEvent , propertyFactory , stateProperty . Key , stateProperty . Value ) ;
88
69
}
89
70
}
90
71
else if ( _state is IEnumerable < KeyValuePair < string , object > > stateProperties )
@@ -96,7 +77,7 @@ void AddProperty(string key, object? value)
96
77
if ( stateProperty . Key == SerilogLoggerProvider . OriginalFormatPropertyName && stateProperty . Value is string )
97
78
scopeItem = new ScalarValue ( _state . ToString ( ) ) ;
98
79
else
99
- AddProperty ( stateProperty . Key , stateProperty . Value ) ;
80
+ AddProperty ( logEvent , propertyFactory , stateProperty . Key , stateProperty . Value ) ;
100
81
}
101
82
}
102
83
else if ( _state is ValueTuple < string , object ? > tuple )
@@ -106,11 +87,30 @@ void AddProperty(string key, object? value)
106
87
if ( tuple . Item1 == SerilogLoggerProvider . OriginalFormatPropertyName && tuple . Item2 is string )
107
88
scopeItem = new ScalarValue ( _state . ToString ( ) ) ;
108
89
else
109
- AddProperty ( tuple . Item1 , tuple . Item2 ) ;
90
+ AddProperty ( logEvent , propertyFactory , tuple . Item1 , tuple . Item2 ) ;
110
91
}
111
92
else
112
93
{
113
94
scopeItem = propertyFactory . CreateProperty ( NoName , _state ) . Value ;
114
95
}
115
96
}
97
+
98
+ static void AddProperty ( LogEvent logEvent , ILogEventPropertyFactory propertyFactory , string key , object ? value )
99
+ {
100
+ var destructureObject = false ;
101
+
102
+ if ( key . StartsWith ( "@" ) )
103
+ {
104
+ key = SerilogLogger . GetKeyWithoutFirstSymbol ( SerilogLogger . DestructureDictionary , key ) ;
105
+ destructureObject = true ;
106
+ }
107
+ else if ( key . StartsWith ( "$" ) )
108
+ {
109
+ key = SerilogLogger . GetKeyWithoutFirstSymbol ( SerilogLogger . StringifyDictionary , key ) ;
110
+ value = value ? . ToString ( ) ;
111
+ }
112
+
113
+ var property = propertyFactory . CreateProperty ( key , value , destructureObject ) ;
114
+ logEvent . AddPropertyIfAbsent ( property ) ;
115
+ }
116
116
}
0 commit comments