首页 > 解决方案 > 如何为单个 Spring Boot 应用程序创建两个日志文件

问题描述

我想创建两个记录器文件 1.对于主日志文件 3.对于调度程序(因为每 5 秒它会打印一个日志文件)

    private static final Logger LOGGER = Logger.getLogger(DomainHealthChecker.class); 

对于第二个记录器如何启动它?

标签: javaspringspring-boot

解决方案


创建/配置您的 logback-spring.xml 文件以按包输出到多个文件。请参阅https://docs.spring.io/spring-boot/docs/current/reference/html/howto.html#howto-configure-logback-for-logging-fileonly

示例(信用 - Spring boot 登录到多个文件):

  <appender name="FILE1" class="ch.qos.logback.core.FileAppender">
    <file>myApp1.log</file>
    <encoder>
      <pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern>
    </encoder>
  </appender>

  <appender name="FILE2" class="ch.qos.logback.core.FileAppender">
    <file>myApp1.log</file>
    <encoder>
      <pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern>
    </encoder>
  </appender>

  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%msg%n</pattern>
    </encoder>
  </appender>

  <logger name="com.package1.foo" level="DEBUG">
    <appender-ref ref="FILE1" />
  </logger>

  <logger name="com.package2.bar" level="DEBUG">
    <appender-ref ref="FILE2" />
  </logger>

  <root level="debug">
    <appender-ref ref="STDOUT" />
  </root>
</configuration>

推荐阅读