我有一个logback.xml,其中包含以下内容
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="10000">
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<layout class="com.myFilter.filters.CustomJsonLayout">
<jsonFormatter class="ch.qos.logback.contrib.jackson.JacksonJsonFormatter">
<prettyPrint>false</prettyPrint>
</jsonFormatter>
<appendLineSeparator>true</appendLineSeparator>
</layout>
</appender>
<logger name="com.third.party" level="INFO" additivity="false">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="com.cassandra" level="INFO" additivity="false">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="com.sql" level="INFO" additivity="false">
<appender-ref ref="CONSOLE"=/>
</logger>
<logger name="SESSION_ATTRIBUTE_LOG" level="INFO" additivity="false">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="OPS_LOG" additivity="false" level="INFO">
<appender-ref ref="CONSOLE"/>
</logger>
<jmxConfigurator contextName="MyConfig"/>
</configuration>
在这里创建CustomJsonLayout类是为了实现我们的特定日志记录目的,并且可以正常工作。
问题在于所有日志都正在记录到控制台,而我无法区分,该日志正在记录它的第三方,sql或myapp。有什么办法可以解决这个问题?
我的日志输出看起来像
{
"timestamp": "1554710406746",
"level": "INFO",
"thread": "http-nio-8082-exec-12",
"domain": "docker.for.mac.localhost",
"user_agent": "Styx/1.0-1032",
"akamai_bot": "",
"request_method": "GET",
"url": "/version.txt",
"remote_host": "127.0.0.1",
"edgescape": "",
"logger": "com.filter.guid.GuidFilter",
"message": "New GUID=ab3f9b75-27b8-4f13-b8e7-e1320c0d0c85 generated for requestUri=/version.txt",
"context": "default"
}