====== Log4j ======
* http://logging.apache.org/log4j/
* [[java:log4j2|Log4j2]] 를 사용할 것
* [[http://onjava.com/pub/a/onjava/2002/08/07/log4j.html|Build Flexible Logs With log4j - O'Reilly Media]] : Log4j 기본을 잘 설명하고 있다.
* [[java:log4j:pattern|Log4j 로그 패턴]]
* [[java:log4j:jdbcappender|Log4j JDBCAppender]]
* [[java:log4j:xml|Log4j XML 설정]]
* [[java:log4j:async|비동기 로깅]]
* [[java:log4j:socketappender|SocketAppender & SocketHubAppender]]
* [[java:log4j:smtp|SMTP Appender]]
* [[java:log4j:rewrite_appender|Rewrite Appender]]
* [[http://logging.apache.org/chainsaw/|ChainSaw]] Log4j의 로그를 Socket으로 받아서 보여준다.
* [[http://logdigger.com/|LogDigger]] FireFox에서 log4j 로그를 본다.
* [[https://github.com/jakubholynet/blog/tree/master/stat4j|Stat4j]]
===== reload4j =====
* [[https://reload4j.qos.ch/|reload4j]] : log4j 1.2.x 버전이 장기적으로 유지보수가 안돼서 생긴 보안 이슈를 해결한 버전. log4j 1.x 사용자는 이걸로 바꿔치기 하는게 좋음.
===== additivity =====
* 중복으로 로그가 쌓인다면, 로거에 ''additivity'' 속성을 ''false''로 지정한다.
===== Appender별 로그 레벨 =====
* [[http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/AppenderSkeleton.html|AppenderSkeleton]]을 상속한 경우
log4j.appender.[AppenderName].Threshold=[로그레벨]
* [[http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/varia/LevelRangeFilter.html|LevelRangeFilter]] 사용
....