private static final Logger logger = LoggerFactory.getLogger(Test.class);
logger.info("logger name -> {}", logger.getName());
1. logback-test.xml
2. logback.groovy
3. logback.xml
4. BasicConfiguration ( 기본 설정 전략을 따른다 )
https://logback.qos.ch/manual/configuration.html
<configuration>
<!-- 로거 텍스트 색상 설정 -->
<conversionRule
conversionWord="clr"
converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
<!-- 로거 프로퍼티 설정, PatternLayout을 따른다. 여기서 value에 있는 %d{...}는 conversion word다.-->
<property name="CONSOLE_LOG_PATTERN"
value="%clr(%d{HH:mm:ss.SSS}){cyan} [%thread] %clr(%-5level) %logger{36} - %msg%n"/>
<property name="FILE_LOG_PATTERN" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n"/>
<timestamp key="bySecond" datePattern="yy-MM-dd'T'HH:mm:ss"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
</encoder>
</appender>
<!-- <appender name="FILE" class="ch.qos.logback.core.FileAppender">-->
<!-- <file>logs/ktd_${bySecond}.log</file>-->
<!-- <endcoder>-->
<!-- <pattern>${FILE_LOG_PATTERN}</pattern>-->
<!-- </endcoder>-->
<!-- </appender>-->
<appender name="ROLLING_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- <file>logs/access.log</file>-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>
logs/access-%d{yyy-MM-dd}.log
</FileNamePattern>
</rollingPolicy>
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
</encoder>
</appender>
<logger name="org.prgrms.kdt" level="TRACE">
<appender-ref ref="ROLLING_FILE"/>
<!-- <appender-ref ref="FILE"/>-->
</logger>
<root level="WARN">
<appender-ref ref="STDOUT"/>
</root>
</configuration>
yaml로도 가능하다.
logging:
level:
root: warn