@@ -94,7 +94,9 @@ static int format_rfc5424(Manager *m,
94
94
const char * message ,
95
95
const char * hostname ,
96
96
const char * pid ,
97
- const struct timeval * tv ) {
97
+ const struct timeval * tv ,
98
+ const char * syslog_structured_data ,
99
+ const char * syslog_msgid ) {
98
100
99
101
char header_time [FORMAT_TIMESTAMP_MAX ];
100
102
char header_priority [sizeof ("< >1 " )];
@@ -140,12 +142,18 @@ static int format_rfc5424(Manager *m,
140
142
IOVEC_SET_STRING (iov [n ++ ], " " );
141
143
142
144
/* Seventh: msgid */
143
- IOVEC_SET_STRING (iov [n ++ ], RFC_5424_NILVALUE );
145
+ if (syslog_msgid )
146
+ IOVEC_SET_STRING (iov [n ++ ], syslog_msgid );
147
+ else
148
+ IOVEC_SET_STRING (iov [n ++ ], RFC_5424_NILVALUE );
149
+
144
150
IOVEC_SET_STRING (iov [n ++ ], " " );
145
151
146
152
/* Eighth: [structured-data] */
147
153
if (m -> structured_data )
148
154
IOVEC_SET_STRING (iov [n ++ ], m -> structured_data );
155
+ else if (syslog_structured_data )
156
+ IOVEC_SET_STRING (iov [n ++ ], syslog_structured_data );
149
157
else
150
158
IOVEC_SET_STRING (iov [n ++ ], RFC_5424_NILVALUE );
151
159
@@ -238,7 +246,9 @@ int manager_push_to_network(Manager *m,
238
246
const char * message ,
239
247
const char * hostname ,
240
248
const char * pid ,
241
- const struct timeval * tv ) {
249
+ const struct timeval * tv ,
250
+ const char * syslog_structured_data ,
251
+ const char * syslog_msgid ) {
242
252
243
253
int r ;
244
254
@@ -248,7 +258,7 @@ int manager_push_to_network(Manager *m,
248
258
return 0 ;
249
259
250
260
if (m -> log_format == SYSLOG_TRANSMISSION_LOG_FORMAT_RFC_5424 )
251
- r = format_rfc5424 (m , severity , facility , identifier , message , hostname , pid , tv );
261
+ r = format_rfc5424 (m , severity , facility , identifier , message , hostname , pid , tv , syslog_structured_data , syslog_msgid );
252
262
else
253
263
r = format_rfc3339 (m , severity , facility , identifier , message , hostname , pid , tv );
254
264
0 commit comments