12
12
// See the License for the specific language governing permissions and
13
13
// limitations under the License.
14
14
15
+ using Serilog . Events ;
16
+ using Serilog . Formatting ;
17
+ using Serilog . Formatting . Json ;
15
18
using System ;
16
19
using System . Collections . Generic ;
17
20
using System . Globalization ;
18
21
using System . IO ;
19
- using Serilog . Events ;
20
- using Serilog . Formatting ;
21
- using Serilog . Formatting . Json ;
22
22
23
23
namespace Serilog . Sinks . Splunk
24
24
{
@@ -63,38 +63,8 @@ public SplunkJsonFormatter(
63
63
string sourceType ,
64
64
string host ,
65
65
string index )
66
+ : this ( renderTemplate , formatProvider , source , sourceType , host , index , null )
66
67
{
67
- _renderTemplate = renderTemplate ;
68
- _formatProvider = formatProvider ;
69
-
70
- var suffixWriter = new StringWriter ( ) ;
71
- suffixWriter . Write ( "}" ) ; // Terminates "event"
72
-
73
- if ( ! string . IsNullOrWhiteSpace ( source ) )
74
- {
75
- suffixWriter . Write ( ",\" source\" :" ) ;
76
- JsonValueFormatter . WriteQuotedJsonString ( source , suffixWriter ) ;
77
- }
78
-
79
- if ( ! string . IsNullOrWhiteSpace ( sourceType ) )
80
- {
81
- suffixWriter . Write ( ",\" sourcetype\" :" ) ;
82
- JsonValueFormatter . WriteQuotedJsonString ( sourceType , suffixWriter ) ;
83
- }
84
-
85
- if ( ! string . IsNullOrWhiteSpace ( host ) )
86
- {
87
- suffixWriter . Write ( ",\" host\" :" ) ;
88
- JsonValueFormatter . WriteQuotedJsonString ( host , suffixWriter ) ;
89
- }
90
-
91
- if ( ! string . IsNullOrWhiteSpace ( index ) )
92
- {
93
- suffixWriter . Write ( ",\" index\" :" ) ;
94
- JsonValueFormatter . WriteQuotedJsonString ( index , suffixWriter ) ;
95
- }
96
- suffixWriter . Write ( '}' ) ; // Terminates the payload
97
- _suffix = suffixWriter . ToString ( ) ;
98
68
}
99
69
100
70
/// <summary>
@@ -119,63 +89,65 @@ public SplunkJsonFormatter(
119
89
_renderTemplate = renderTemplate ;
120
90
_formatProvider = formatProvider ;
121
91
122
- var suffixWriter = new StringWriter ( ) ;
123
- suffixWriter . Write ( "}" ) ; // Terminates "event"
124
-
125
- if ( ! string . IsNullOrWhiteSpace ( source ) )
92
+ using ( var suffixWriter = new StringWriter ( ) )
126
93
{
127
- suffixWriter . Write ( ",\" source\" :" ) ;
128
- JsonValueFormatter . WriteQuotedJsonString ( source , suffixWriter ) ;
129
- }
94
+ suffixWriter . Write ( "}" ) ; // Terminates "event"
130
95
131
- if ( ! string . IsNullOrWhiteSpace ( sourceType ) )
132
- {
133
- suffixWriter . Write ( ",\" sourcetype \" :" ) ;
134
- JsonValueFormatter . WriteQuotedJsonString ( sourceType , suffixWriter ) ;
135
- }
96
+ if ( ! string . IsNullOrWhiteSpace ( source ) )
97
+ {
98
+ suffixWriter . Write ( ",\" source \" :" ) ;
99
+ JsonValueFormatter . WriteQuotedJsonString ( source , suffixWriter ) ;
100
+ }
136
101
137
- if ( ! string . IsNullOrWhiteSpace ( host ) )
138
- {
139
- suffixWriter . Write ( ",\" host \" :" ) ;
140
- JsonValueFormatter . WriteQuotedJsonString ( host , suffixWriter ) ;
141
- }
102
+ if ( ! string . IsNullOrWhiteSpace ( sourceType ) )
103
+ {
104
+ suffixWriter . Write ( ",\" sourcetype \" :" ) ;
105
+ JsonValueFormatter . WriteQuotedJsonString ( sourceType , suffixWriter ) ;
106
+ }
142
107
143
- if ( ! string . IsNullOrWhiteSpace ( index ) )
144
- {
145
- suffixWriter . Write ( ",\" index\" :" ) ;
146
- JsonValueFormatter . WriteQuotedJsonString ( index , suffixWriter ) ;
147
- }
148
- if ( customFields != null )
149
- {
150
- // "fields": {"club":"glee", "wins",["regionals","nationals"]}
151
- suffixWriter . Write ( ",\" fields\" : {" ) ;
152
- var lastFieldIndex = customFields . CustomFieldList . Count ;
153
- foreach ( var customField in customFields . CustomFieldList )
108
+ if ( ! string . IsNullOrWhiteSpace ( host ) )
154
109
{
155
- if ( customField . ValueList . Count == 1 )
156
- {
157
- //only one value e.g "club":"glee",
158
- suffixWriter . Write ( $ "\" { customField . Name } \" :") ;
159
- suffixWriter . Write ( $ "\" { customField . ValueList [ 0 ] } \" ") ;
160
- }
161
- else
110
+ suffixWriter . Write ( ",\" host\" :" ) ;
111
+ JsonValueFormatter . WriteQuotedJsonString ( host , suffixWriter ) ;
112
+ }
113
+
114
+ if ( ! string . IsNullOrWhiteSpace ( index ) )
115
+ {
116
+ suffixWriter . Write ( ",\" index\" :" ) ;
117
+ JsonValueFormatter . WriteQuotedJsonString ( index , suffixWriter ) ;
118
+ }
119
+ if ( customFields != null )
120
+ {
121
+ // "fields": {"club":"glee", "wins",["regionals","nationals"]}
122
+ suffixWriter . Write ( ",\" fields\" : {" ) ;
123
+ var lastFieldIndex = customFields . CustomFieldList . Count ;
124
+ foreach ( var customField in customFields . CustomFieldList )
162
125
{
163
- //array of values e.g "wins",["regionals","nationals"]
164
- suffixWriter . Write ( $ "\" { customField . Name } \" :[") ;
165
- var lastArrIndex = customField . ValueList . Count ;
166
- foreach ( var cf in customField . ValueList )
126
+ if ( customField . ValueList . Count == 1 )
167
127
{
168
- suffixWriter . Write ( $ " \" { cf } \" " ) ;
169
- //Different behaviour if it is the last one
170
- suffixWriter . Write ( -- lastArrIndex > 0 ? "," : "] ") ;
128
+ //only one value e.g "club":"glee",
129
+ suffixWriter . Write ( $ " \" { customField . Name } \" :" ) ;
130
+ suffixWriter . Write ( $ " \" { customField . ValueList [ 0 ] } \" ") ;
171
131
}
132
+ else
133
+ {
134
+ //array of values e.g "wins",["regionals","nationals"]
135
+ suffixWriter . Write ( $ "\" { customField . Name } \" :[") ;
136
+ var lastArrIndex = customField . ValueList . Count ;
137
+ foreach ( var cf in customField . ValueList )
138
+ {
139
+ suffixWriter . Write ( $ "\" { cf } \" ") ;
140
+ //Different behaviour if it is the last one
141
+ suffixWriter . Write ( -- lastArrIndex > 0 ? "," : "]" ) ;
142
+ }
143
+ }
144
+ suffixWriter . Write ( -- lastFieldIndex > 0 ? "," : "}" ) ;
172
145
}
173
- suffixWriter . Write ( -- lastFieldIndex > 0 ? "," : "}" ) ;
146
+
174
147
}
175
-
148
+ suffixWriter . Write ( '}' ) ; // Terminates the payload
149
+ _suffix = suffixWriter . ToString ( ) ;
176
150
}
177
- suffixWriter . Write ( '}' ) ; // Terminates the payload
178
- _suffix = suffixWriter . ToString ( ) ;
179
151
}
180
152
181
153
/// <inheritdoc/>
0 commit comments