【问题标题】:Show logs only from one class using logback使用 logback 仅显示一个类的日志
【发布时间】:2017-09-06 04:43:04
【问题描述】:

我正在尝试将日志显示到控制台和文件中,但是在文件中我只想要从一个特定类中显示的某些日志,我不确定如何执行此操作。下面是我的 logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration>

<configuration>

  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>{ "date_time":"%date", "thread":"[%thread]", "log_level":"%-5level", "class_name":"%logger{0}", "log_message":"%msg" }%n</pattern>
        </encoder>
    </appender>

  <appender name="FILE" class="ch.qos.logback.core.FileAppender">
    <file> test.txt </file>
    <append>false</append>
    <encoder>
        <pattern>{ "date_time":"%date", "thread":"[%thread]", "log_level":"%-5level", "class_name":"%logger{0}", "log_message":"%msg" }%n</pattern>
    </encoder>
  </appender>

  <root level="info">
    <appender-ref ref="FILE" />
    <appender-ref ref="STDOUT" />
  </root>

</configuration>

【问题讨论】:

    标签: logback


    【解决方案1】:

    只需为您的“一个特定类”声明一个logger,然后将该记录器与您的FILE appender 相关联。

    例如:

    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <file>test.log</file>
        <encoder>
            <pattern>{ "date_time":"%date", "thread":"[%thread]", "log_level":"%-5level", "class_name":"%logger{0}", "log_message":"%msg" }%n</pattern>
        </encoder>
    </appender>
    
    <logger name="your.particular.Class">
        <appender-ref ref="FILE" />
    </logger>
    
    <root level="info">
        <appender-ref ref="STDOUT" />
    </root>
    

    这将确保your.particular.Class 发出的任何日志事件 定向到FILE 附加程序,所有其他日志将 定向到@987654326 @appender。

    【讨论】:

      猜你喜欢
      • 2019-04-06
      • 2014-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-22
      • 2012-04-05
      • 1970-01-01
      相关资源
      最近更新 更多