logback.xml中的日志名称存在问题

时间:2019-04-09 06:14:25

标签: java logging

我有一个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"
}

0 个答案:

没有答案