티스토리 뷰

공부/Java, JSP

log4j

doublemetal 2016. 5. 18. 17:14

1. root logger / parent logger

- root logger에 정의된 appender 설정이 하위 logger에도 적용된다.

- 즉 하위 logger에 또다른 appender가 있을 경우 2번의 로그가 찍힐 수 있다.

- 위와 같은 상황을 막으려면 어느 한쪽에는 additivity을 false로 설정한다.

- root logger는 필수 element는 아니지만, level 정도는 설정해두는 것이 좋다.



2. parent/child

- logger는 name-base로 부모/자식 관계가 성립된다.

- com.log 라는 logger가 있고, com.log.test 라는 logger를 정의할 경우

- com.log.test는 com.log의 하위 logger가 된다.

- http://seosh81.info/?p=404



3. slf4j, logback 

- FACADE 패턴의 slf4j를 사용하면, 실제로 사용되는 logging 플랫폼(구현체)의 변경이 비교적 자유로워진다.

slf4j와 logback은 log4j의 개발자가 log4j를 더 개선하여 새로 만든 오픈소스이다.

- logback은 log4j보다 성능면에서 더 낫다고 한다.

logback은 시스템의 재시작 없이 로그 레벨을 변경할 수 있다고 한다. (warn이던 레벨을 INFO 변경하다던가... 운영환경의 디버깅 시 유용할 거 같다)

logback은 자체 설정을 통해 롤링된 아카이빙 로그 파일을 관리할 수 있다. (일정 시간 뒤 오래된 데이터를 삭제하는..)

https://beyondj2ee.wordpress.com/2012/11/09/logback-%EC%82%AC%EC%9A%A9%ED%95%B4%EC%95%BC-%ED%95%98%EB%8A%94-%EC%9D%B4%EC%9C%A0-reasons-to-prefer-logback-over-log4j/


4. private static final Logger logger?

- private : class 내에서만 변수를 참조하겠다.

- static : class의 공유자원으로서 한 번만 생성해서 사용하겠다.

- final : 처음 한 번 초기화한 후 변경하지 않고 유지하겠다.

- Spring framework의 Context 안에서 Singleton Bean으로 Controller와 Service 객체가 생성되고 사용되는 이상 static이 의미가 있을까? 바이트코드 상으로 어떤 차이점이 있는지 궁금하다.

- private과 final은 붙이는 것이 나아보인다.


'공부 > Java, JSP' 카테고리의 다른 글

log4j  (0) 2016.05.18
[멀티채팅] 뮤뮤챗 소스를 찾았는데...  (0) 2015.08.26
[Thymeleaf] Url with pathvariable  (0) 2015.08.11
client IP 가져오기  (0) 2015.07.27
Xstream :: List in Object  (0) 2015.06.04
xml parsing - Document, XPath  (0) 2015.05.20
댓글
댓글쓰기 폼