BACK END/SPRING

[강의 정리] D89 - (Spring)logger

dinoelll 2023. 5. 29. 21:16

[중요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>