• level

    • ERROR, WARN, INFO, DEBUG, TRACE

    • 선택한 레벨의 왼쪽 레벨은 로깅에 포함된다.

    • e.g. INFO 선택시 ERROR, WARN, INFO 로깅됨

  • additivity 옵션

    • 중복 출력 제외

    • 상위 appender 상속받는 것을 제어

    • root 로거에 출력을 제외시킴

Logging frameworks

Log4J → Logback → Log4J2

Log4J

  • Apache에서 개발

  • 2015년 개발팀에서 개발 중단 발표

  • log4j 메머

Logback

  • log4j를 구현한 개발자가 개발

Log4J2

SLF4J(Simple Logging Facade for Java)

Gxcuh
  • Log4J, Logback과 같은 back-end logger framework의 facade pattern

log4j xml로 log 롤링하기

로그 롤링Log Rolling

파일 사이즈로 롤링하기

<appender name="withdrawAppender" class="org.apache.log4j.RollingFileAppender">
	<param name="File" value="/path/rolling.log" />
	<param name="Append" value="true" />
	<param name="MaxFileSize" value="10MB" /> <!-- 롤링될 파일 한개의 사이즈 -->
	<param name="MaxBackupIndex" value="100" /> <!-- 100개 파일 넘어가면 오래된 것부터 삭제 -->
	<layout class="org.apache.log4j.PatternLayout">
		<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%-5p](%F:%L) %m%n" />
	</layout>
</appender>

날짜별로 롤링하기

<appender name="memoSync" class="org.apache.log4j.DailyRollingFileAppender">
	<param name="Threshold" value="INFO"/>
	<param name="file" value="/logs/rolling.log"/>
	<param name="append" value="true"/>
	<param name="DatePattern" value="'.'yyyy-MM-dd"/> <!-- 매일 로그 롤링, ex) rolling.log.2016.06.27  -->
	<layout class="org.apache.log4j.PatternLayout">
		<param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss}] [%-5p](%F:%L) %m%n"/>
	</layout>
</appender>