@@ -177,6 +177,8 @@ void serverLogRaw(int level, const char *msg) {
177
177
const char * verbose_level [] = {"debug" , "info" , "notice" , "warning" };
178
178
const char * roles [] = {"sentinel" , "RDB/AOF" , "replica" , "primary" };
179
179
const char * role_chars = "XCSM" ;
180
+ const char * json_format = "{\"pid\":%d,\"role\":\"%s\",\"timestamp\":\"%s\",\"level\":\"%s\",\"message\":\"%s\"}\n" ;
181
+ const char * logfmt_format = "pid=%d role=%s timestamp=\"%s\" level=%s message=\"%s\"\n" ;
180
182
FILE * fp ;
181
183
char buf [64 ];
182
184
int rawmode = (level & LL_RAW );
@@ -229,13 +231,14 @@ void serverLogRaw(int level, const char *msg) {
229
231
}
230
232
switch (server .log_format ) {
231
233
case LOG_FORMAT_LOGFMT :
234
+ case LOG_FORMAT_JSON :
232
235
if (hasInvalidLogfmtChar (msg )) {
233
236
char safemsg [LOG_MAX_LEN ];
234
237
filterInvalidLogfmtChar (safemsg , LOG_MAX_LEN , msg );
235
- fprintf (fp , "pid=%d role=%s timestamp=\"%s\" level=%s message=\"%s\"\n" , (int )getpid (), roles [role_index ],
238
+ fprintf (fp , server . log_format == LOG_FORMAT_LOGFMT ? logfmt_format : json_format , (int )getpid (), roles [role_index ],
236
239
buf , verbose_level [level ], safemsg );
237
240
} else {
238
- fprintf (fp , "pid=%d role=%s timestamp=\"%s\" level=%s message=\"%s\"\n" , (int )getpid (), roles [role_index ],
241
+ fprintf (fp , server . log_format == LOG_FORMAT_LOGFMT ? logfmt_format : json_format , (int )getpid (), roles [role_index ],
239
242
buf , verbose_level [level ], msg );
240
243
}
241
244
break ;
0 commit comments