[강의 정리] D89 - (Spring)logger
[중요1]
<!--로거를 찍어줄 패키지 영역 -->
<logger name="kr.co.gudi">
<level value="info" />
</logger>
-> 어디까지 읽어 줄꺼냐
[중요2]
<!-- Root Logger -->
<root>
<priority value="warn" />
<appender-ref ref="console" />
<appender-ref ref="file" />
</root>
뭐랑 뭘 찍어줄꺼냐
[중요3]
<!-- Appenders -->
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<layout class="org.apache.log4j.PatternLayout">
<!-- <param name="ConversionPattern" value="%-5p: %c - %m%n" /> -->
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss, SSS} %-5p: %c %L - %m%n" />
</layout>
</appender>
어케 찍어줄껀지
SSS: 밀리세컨드
+[추가 커스텀]
<!--
%d : 로그의 기록 시간을 출력
%p : 로그 레벨을 출력
%f : 로그가 발생한 파일명 출력
%m : 로그가 발생한 매서드 명
%l : 로그가 발생한 호출지의 정보를 출력
%L : 로그가 발생한 호출지의 라인을 출력
%t : 로그가 발생한 thread의 정보를 출력
%c : 로그가 발생한 카테고리(패키지)의 정보를 출력
%C : 로그가 발생한 클래스의 정보를 출력
%M : 로그 메세지 출력
%n : 개행문자 (줄바꿈)
%% : % 출력
%r : 앱 실행 후 로깅이 발생한 시점까지 걸린 시간(ms)
-->
<!--INFO : kr.co.gudi.controller.BoardController - list call -->
<!-- %-5 : 좌측정렬 5자가 안되면 나머지는 공백으로 채움-->
<!--
yyyy-MM : 매달 첫번째날에 로그파일 변경 (월단위로 저장)
.yyyy-ww : 매주 시작시 로그파일 변경
.yyyy-MM-dd : 매일 자정 로그파일 변경
.yyyy-MM-dd-a : 매일 자정과 정오에 로그파일 변경(12시간 마다)
.yyyy-MM-dd-HH : 매 시간 로그파일 변경
.yyyy-MM-dd-HH-mm : 매분 로그파일 변경
-->
Spring - 08_photoBoard
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<!--
%d : 로그의 기록 시간을 출력
%p : 로그 레벨을 출력
%f : 로그가 발생한 파일명 출력
%m : 로그가 발생한 매서드 명
%l : 로그가 발생한 호출지의 정보를 출력
%L : 로그가 발생한 호출지의 라인을 출력
%t : 로그가 발생한 thread의 정보를 출력
%c : 로그가 발생한 카테고리(패키지)의 정보를 출력
%C : 로그가 발생한 클래스의 정보를 출력
%M : 로그 메세지 출력
%n : 개행문자 (줄바꿈)
%% : % 출력
%r : 앱 실행 후 로깅이 발생한 시점까지 걸린 시간(ms)
-->
<!--INFO : kr.co.gudi.controller.BoardController - list call -->
<!-- %-5 : 좌측정렬 5자가 안되면 나머지는 공백으로 채움-->
<!-- Appenders -->
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<layout class="org.apache.log4j.PatternLayout">
<!-- <param name="ConversionPattern" value="%-5p: %c - %m%n" /> -->
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss, SSS} %-5p: %c %L - %m%n" />
</layout>
</appender>
<!--
yyyy-MM : 매달 첫번째날에 로그파일 변경 (월단위로 저장)
.yyyy-ww : 매주 시작시 로그파일 변경
.yyyy-MM-dd : 매일 자정 로그파일 변경
.yyyy-MM-dd-a : 매일 자정과 정오에 로그파일 변경(12시간 마다)
.yyyy-MM-dd-HH : 매 시간 로그파일 변경
.yyyy-MM-dd-HH-mm : 매분 로그파일 변경
-->
<!-- Appenders -->
<appender name="file" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="/usr/local/tomcat/logs/spring.log" />
<!-- 파일을 특정 날짜 조건대로 rolling 하기 위한 옵션 (로그를 시간별로 끊겠따.)-->
<param name="DatePattern" value=".yyyy-MM-dd-HH"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss, SSS} %-5p: %c %L - %m%n" />
</layout>
</appender>
<!-- trace - 하찮은거 까지 다 찍어주는거-->
<!-- trace > debug > info(일반적인 정보)> warn> fatal -->
<!--로거를 찍어줄 패키지 영역 -->
<logger name="kr.co.gudi">
<level value="info" />
</logger>
<!-- 3rdparty Loggers -->
<logger name="org.springframework.core">
<level value="info" />
</logger>
<logger name="org.springframework.beans">
<level value="info" />
</logger>
<logger name="org.springframework.context">
<level value="info" />
</logger>
<logger name="org.springframework.web">
<level value="info" />
</logger>
<!-- Root Logger -->
<root>
<priority value="warn" />
<appender-ref ref="console" />
<appender-ref ref="file" />
</root>
</log4j:configuration>