我正在使用 logstash-logback-encoder 以 json 格式打印日志。
下面是我的 logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="sample" class = "org.ssn.app.config.CustomLogService">
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="net.logstash.logback.encoder.LogstashEncoder">
<provider class="net.logstash.logback.composite.loggingevent.ArgumentsJsonProvider"/>
</encoder>
</appender>
<logger name="org.ssn.app" additivity="false" level="DEBUG">
<appender-ref ref="STDOUT"/>
</logger>
<root level="INFO">
<appender-ref ref="STDOUT"/>
</root>
</configuration>
- 在我的代码片段下方
JSONObject lJsonObj = new JSONObject();
lJsonObj.put("dl_no","DL10252");
logger.debug(lJsonObj.toString,Markers.append("ss","sss"));
- 输出如下
{
"@timestamp": "2021-06-17T18:49:07.914+05:30",
"@version": "1",
"message": "{\"dl_no\":\"DL10252\"}",
"logger_name": "org.ssn.app.controller.TestController1",
"thread_name": "http-nio-8080-exec-1",
"level": "DEBUG",
"level_value": 10000,
"ss": "sss"
}
有什么方法可以修改消息属性的值数据类型,这样我们就可以避免“\”>反斜杠?因为通常我想将 JSON 或嵌套 JSON 放在消息属性的 >value 中,并希望在没有任何反斜杠的情况下查看它们