-
log4j 설정개발자의 공부는 은퇴까지 필수다/개발 2020. 9. 17. 16:54
log4j.xml 을 이루는 태그
<Appender> - 로그의 출력 위치를 결정 ( 파일, 콘솔, DB 등 )
<Layout> - 출력 형식 결정
<Logger> - 로깅 메시지를 Appender에 전달. 개발자가 로그레벨을 이용해 로그 출력 여부 조정 가능
* Appender class 종류
* PatternLayout 클래스에서 사용되는 출력 속성
<!-- Root Logger --> <root> <priority value="warn" /><!-- 전체 어플리케이션의 레벨을 지정할 때 사용( default, logger로 따로 레벨을 지정해주면 해당 패키지는 지정레벨로 --> <appender-ref ref="console" /> <appender-ref ref="ERROR" /> <appender-ref ref="LOGFILE-DAILY" /> </root>
위 코드에서 priority로 정의 된 것은 어플리케이션의 기본 로그레벨을 결정한다.
그리고 다음과 같이 <logger> 태그에서 정의 된 내용들에게 로그레벨에 대한 우선순위가 있다.
(로그레벨 부분설정)
<!-- mybatis loggers start --> <!-- 에러일 경우 sql 쿼리문까지 출력 --> <logger name="java.sql.Connection"> <level value="error" /> </logger> <logger name="java.sql.Statement"> <level value="error" /> </logger> <logger name="java.sql.PreparedStatement"> <level value="error" /> </logger> <logger name="java.sql.ResultSet"> <level value="error" /> </logger> <!-- mybatis loggers end --> <!-- 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>
* log4j 성격별 로그파일 error레벨 지정하기
- ex) ERROR.log 파일에는 ERROR 레벨만 출력하고싶다면?
<appender name="ERROR" class="org.apache.log4j.rolling.RollingFileAppender"> <param name="Threshold" value="ERROR" /> <rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy"> <param name="FileNamePattern" value="D:/WWW/Web/NewIntranet/Log/Online/error.%d{yyyy-MM-dd}.log"/> <param name="maxHistory" value="2"/> </rollingPolicy> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss}][(%F:%L)] %r %5p - %m%n [message:::::] %m" /> </layout> </appender>
<param name="Threshold" value="ERROR" />
해당 라인을 추가하면 된다. log4j.appender.console.Threshold를 이용하여 해당파일이 출력하는 로그의 레벨을 설정할 수 있다.
'개발자의 공부는 은퇴까지 필수다 > 개발' 카테고리의 다른 글
mssql sum에 연산값들이 모두 null값일 때 (0) 2020.09.29 log4j sql로그 가독성 높이기 (0) 2020.09.18 javascript 함수 default 파라미터 (0) 2020.09.04 Spring boot로 실행시키기, 개발환경 속도를 더 빠르게 (0) 2020.08.20 intellij package 보기 형식 변경하기 (2) 2020.08.19