사용자 도구

사이트 도구


java:log4j2

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
다음 판 양쪽 다음 판
java:log4j2 [2019/06/07 15:47]
kwon37xi
java:log4j2 [2019/06/07 16:02]
kwon37xi
줄 1: 줄 1:
 ====== Log4j2 ====== ====== Log4j2 ======
 +  * Java 8 Lambda 지원
 +  * [[https://logging.apache.org/log4j/2.x/manual/garbagefree.html|Garbage Free]]로 GC 를 최소화 했다.
 +  * 구현과 API를 분리했기 때문에 Slf4j 등으로 쉽게 이전 가능. ''java.util.Logging'', ''Commons logging'' 등과 쉽게 연동.
  
 ===== 의존성 설정 ===== ===== 의존성 설정 =====
   * [[http://logging.apache.org/log4j/2.x/faq.html#which_jars|Log4j2 FAQ - Which JAR files do I need?]]   * [[http://logging.apache.org/log4j/2.x/faq.html#which_jars|Log4j2 FAQ - Which JAR files do I need?]]
 +<code groovy>
 +dependencies {
 +  compile('com.example:example-project:1.0') {
 +    exclude group: 'log4j', module: 'log4j'
 +    exclude group: 'org.slf4j', module: 'slf4j-log4j12'
 +  }
 +  compile('org.apache.logging.log4j:log4j-core:2.11.2')
 +  compile('org.apache.logging.log4j:log4j-slf4j-impl:2.11.2')
 +  compile('org.apache.logging.log4j:log4j-1.2-api:2.11.2')
 +}
 +</code>
  
 +===== Garbage Free 로 GC 최소화 =====
 +  * [[http://www.rationaljava.com/2017/10/allocation-free-logging-with-log4j2.html|Rational Java: Allocation free logging with log4j2]]
 +  * [[https://logging.apache.org/log4j/2.x/manual/garbagefree.html|Garbage Free]]
 +  * Garbage Free 를 제대로 사용하려면 지원되는 로깅 패턴만 사용해야 한다.
  
 +
 +
 +===== 참조 =====
 +  * [[https://www.loggly.com/blog/benchmarking-java-logging-frameworks/|Benchmarking Java logging frameworks | Log Analysis | Log Monitoring by Loggly]]
 +    * ''Log4j2''의 ''File Appender'' + ''AsyncAppender'' 조합이 성능이 제일 좋다.
 +    * 하지만 [[java:logback|Logback]]로 ''reactor logback'' 으로 비슷한 성능을 보여준다.
java/log4j2.txt · 마지막으로 수정됨: 2022/05/08 22:22 저자 kwon37xi