[SPRING] log4j2.xml 설정
log4j2.xml 설정
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | <?xml version="1.0" encoding="UTF-8"?> <configuration status="WARN"> <appenders> <Console name="console"target="SYSTEM_OUT"> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" /> </Console> <RollingFile name="file" fileName="./logs/all.log" filePattern="./logs/all.%i.%d{yyyy-MM-dd}.log"> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" /> <Policies> <SizeBasedTriggeringPolicy size="10MB" /> <!-- 이 용량이 초과되면 아래 DefaultRolloverStrategy 정책만큼 넘버링 할거다. --> </Policies> <DefaultRolloverStrategy max="1000" fileIndex="min" /><!-- 0부터 1000개 까지만 만들거다 1000개 초과되면 파일이 더생성안된다. --> </RollingFile> </appenders> <loggers> <!-- 모든 로그는 dubug레벨 이상일때만 찍고 --> <root level="debug" additivity="false" > <appender-ref ref="console" /> <appender-ref ref="file" /> </root> <!-- 로그많이 찍어대는 요놈들은 warn수준이상만 찍겠다. --> <logger name="org.springframework" level="warn" additivity="false" > <appender-ref ref="console" /> <appender-ref ref="file" /> </logger> <logger name="org.apache.http" level="warn" additivity="false" > <appender-ref ref="console" /> <appender-ref ref="file" /> </logger> <!-- 내패키지는 무조건 찍자 --> <logger name="kr.co.mypackage" level="trace" additivity="false" > <appender-ref ref="console" /> <appender-ref ref="file" /> </logger> </loggers> </configuration> |
Console 은 Console 경우에만 RollingFile은 RollingFile 경우에 사용하시면 되겠습니다. 경로와 파일명 그리고 콘솔 level 값은 자신이 필요한 속성으로 바꾸셔서 사용하면됨
log4j는 크게 3가지의 큰 뼈대를 가지고 있다.
(1) Logger(Category : 요녀석은 잘 쓰지 않는다) : logging 메시지를 Appender에 전달.
(2) Appender : 전달된 로깅 메시지를 파일, 콘솔,DB에 저장 할 지 지정하는 역할을 한다.
(3) Layout : Appender가 어디에 출력 할 것인지 결정했다면 어떠한 형식으로 출력을 할 지 출력 layout을 결정
(1) Logger(Category : 요녀석은 잘 쓰지 않는다) : logging 메시지를 Appender에 전달.
(2) Appender : 전달된 로깅 메시지를 파일, 콘솔,DB에 저장 할 지 지정하는 역할을 한다.
(3) Layout : Appender가 어디에 출력 할 것인지 결정했다면 어떠한 형식으로 출력을 할 지 출력 layout을 결정
log4j level
logging 레벨은 TRACE < DEBUG < INFO < WARN < ERROR and FATAL 이며,
1) FATAL : 가장 크리티컬한 에러가 났을 때 사용.
2) ERROR : 일반 에러가 났을 경우 사용.
3) WARN : 에러는 아니지만 주의할 필요있을 때 사용.
4) INFO : 일반 정보를 나타날 때 사용.
5) DEBUG : 일반 정보를 상세히 나타낼 때 사용.
6) TRACE : 가장 레벨이 낮은 단계, 보통 DEBUG로 많이 하며 TRACE는 본적이...;
debug 레벨로 했다면 INFO~FATAL까지 모두 logging이 되어집니다.
운영모드라면 INFO레벨로 하면된다.
logging 레벨은 TRACE < DEBUG < INFO < WARN < ERROR and FATAL 이며,
1) FATAL : 가장 크리티컬한 에러가 났을 때 사용.
2) ERROR : 일반 에러가 났을 경우 사용.
3) WARN : 에러는 아니지만 주의할 필요있을 때 사용.
4) INFO : 일반 정보를 나타날 때 사용.
5) DEBUG : 일반 정보를 상세히 나타낼 때 사용.
6) TRACE : 가장 레벨이 낮은 단계, 보통 DEBUG로 많이 하며 TRACE는 본적이...;
debug 레벨로 했다면 INFO~FATAL까지 모두 logging이 되어집니다.
운영모드라면 INFO레벨로 하면된다.
이상으로 포스팅을 마치겠습니다.
댓글
댓글 쓰기