로그 남기기
System.out.println()
은 정보 저장이 어렵고, 성능 문제가 있음(overhead)
// 소스 코드
private static final Logger logger = LoggerFactory.getLogger(OrderTester.class);
public void logName() {
logger.info("name -> {}", properties.getName());
}
// 콘솔
19:01:25.304 [main] INFO com.prgms.kdtspringorder.OrderTester - name -> jummi
private static final Logger logger
: 같은 클래스의 인스턴스는 하나의 logger를 공유한다.OrderTester.class
, com.prgms.kdtspringorder.OrderTester
: logger의 이름(class명을 사용한다.)INFO
: logger의 info 메소드 사용<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{yyyy-MM-dd}.log</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>${LOG_PATTERN}</pattern>
</encoder>
</appender>
<file>logs/access.log</file>
이 없을 때
access-2021-08-25.log 생성 -> 자정 지나면 access-2021-08-26.log가 새로 만들어지고 여기에 마저 로깅
<file>logs/access.log</file>
이 있을 때
먼저 access.log가 생성 -> 자정이 지나면 access-2021-08-25.log로 변경 -> 새로운 access.log 생성, 로깅 -> ...
최신 로그는 모두 access.log에 있게 된다. 날짜를 몰라도 오늘자 log구나 알 수 있다.
얘를 배너라고 한다.
Text to ASCII Art Generator (TAAG)에서 원하는걸 복사해서 resources/banner.txt에 붙여넣기