Syed Sabiyullah
Syed Sabiyullah

Reputation: 43

How to create two log files for a single Spring Boot application

I want to create two logger files 1.For main log files 3.For Schedulers(Because every 5 seconds it will print a log file)

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

and for second logger how to initiate that ?

Upvotes: 1

Views: 1222

Answers (1)

Kevvvvyp
Kevvvvyp

Reputation: 1774

Create/Configure your logback-spring.xml file to output to multiple files by package. See https://docs.spring.io/spring-boot/docs/current/reference/html/howto.html#howto-configure-logback-for-logging-fileonly

Example (credit - Spring boot logging into multiple files):

  <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>

Upvotes: 3

Related Questions