반응형

[1] log4j 구조 log4j는 크게 3가지의 큰 뼈대를 가지고 있다. 

 (1) Logger: logging 메시지를 Appender에 전달. 
 (2) Appender : 전달된 로깅 메시지를 파일, 콘솔,DB에 저장 할 지 지정하는 역할을 한다. 
 (3) Layout : Appender가 어디에 출력 할 것인지 결정했다면 어떠한 형식으로 출력을 할 지 출력 layout을 결정 
 
[2] log4j level logging 레벨은 TRACE < DEBUG < INFO < WARN < ERROR and FATAL 이며, 
 (1) FATAL : 가장 크리티컬한 에러가 났을 때 사용. 
 (2) ERROR : 일반 에러가 났을 경우 사용. 
 (3) WARN : 에러는 아니지만 주의할 필요가 있을 때 사용. 
 (4) INFO : 일반 정보를 나타날 때 사용. 
 (5) DEBUG : 일반 정보를 상세히 나타낼 때 사용. 
 (6) TRACE : 가장 레벨이 낮은 단계, 보통 DEBUG로 많이 사용 debug 레벨로 했다면 INFO~FATAL까지 모두 logging이 되어집니다. 
   운영모드라면 INFO레벨로 하면 됩니다. 
 
[3] log4j 설정 예 
 (1) Appender and Layout 설정
 <appender name="console" class="org.apache.log4j.ConsoleAppender"> 	<param name="Target" value="System.out" /> 	<layout class="org.apache.log4j.PatternLayout"> 		<param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss}] %5p [%C{1}.%M():%L]:%m%n" /> 	</layout>  </appender>   <appender name="FILEOUT" class="org.apache.log4j.DailyRollingFileAppender"> 	<param name="Threshold" value="DEBUG" /> 	<param name="File" value="/Logs/BD/log.log" /> 	<param name="DatePattern" value="'_'yyyy-MM-dd-HH" />         <param name="Append" value="true"/> 	<layout class="org.apache.log4j.PatternLayout"> 		<param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss}] %5p [%C{1}.%M():%L]:%m%n" /> 	</layout>   </appender> 
 (2) Logger
  <logger name="com.home.social"> 	<level value="info" />   </logger>       <logger name="com.zz"> 	<level value="DEBUG" />   </logger>   <logger name="java.sql.Connection" additivity="false"> 	<level value="DEBUG" />   </logger>   <logger name="java.sql.Statement"> 	<level value="DEBUG" />   </logger>   <logger name="java.sql.PreparedStatement"> 	<level value="DEBUG" />   </logger>   <logger name="java.sql.ResultSet"> 	<level value="DEBUG" />   </logger> 

 

반응형

+ Recent posts