Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- log4j2
- 퀵소트
- java
- Node
- npm
- current_date
- JavaScript
- REACTJS
- update
- spring
- migration
- upgrade
- log_bin
- 정규표현식
- Chunk
- spring cloud
- Effective Java
- Webpack
- REACT
- MySQL
- Spring Batch
- Express
- expire_logs_days
- eslint
- git
- nodejs
- Effective Java 3/e
- Regular expression
- mysql 5.5
- regex
Archives
- Today
- Total
내 세상
[Java] Log4j 1.x to Log4j 2 Migration - Converting to the Log4j 2 API 본문
Language/Java
[Java] Log4j 1.x to Log4j 2 Migration - Converting to the Log4j 2 API
sga8 2021. 12. 14. 11:05728x90
반응형
https://logging.apache.org/log4j/2.x/manual/migration.html
Log4j – Migrating from Log4j 1.x
Copyright © 1999-2021 The Apache Software Foundation. All Rights Reserved. Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, and the Apache Logging project logo are trademarks of The Apache Software Foundation.
logging.apache.org
Converting to the Log4j 2 API (빨강색: 버전 1 관련, 파랑색: 버전 2 관련)
대체로 Log4j 1.x API를 Log4j2로 변경하는 것은 꽤나 쉬울 것이다. 많은 Log Statement에 수정이 필요하진 않다. 그러나, 아래 변경점에 대해서는 반드시 수정이 필요하다.
- 버전 1의 main package는 org.apache.log4j 이고, 버전 2의 main package는 org.apache.logging.log4j 이다.
- org.apache.log4j.Logger.getLogger()는 org.apache.log4j.LogManager.getLogger()로 변경해야한다.
- org.apache.log4j.Logger.getRootLogger() 또는 org.apache.log4j.LogManager.getRootLogger()는 org.apache.logging.log4j.LogManager.getRootLogger()로 변경해야한다.
- LoggerFactory를 사용하는 org.apache.log4j.Logger.getLogger()는 org.apache.log4j.spi.LoggerFactory를 제거해야한다. 그리고 Log4j 2의 확장 메커니즘 중 하나를 사용해야한다.
- org.apache.log4j.Logger.getEffectiveLevel()은 org.apache.logging.log4j.Logger.getLevel()로 변경해야한다.
- org.apache.log4j.LogManager.shutdown()을 삭제해야한다. 버전 2에서는 Log4j Core가 자동으로 JVM Shutdown hook을 진행하기 때문에 삭제되어야 한다.
- org.apache.log4j.Logger.setLevel() 또는 유사한 함수는 지원되지 않아 삭제해야 한다. 버전 2에서 동등한 기능이 org.apache.logging.log4j.core.config.Configurator.setLevel()로 제공된다. 그러나 Log4j 2 내부의 변경 사항에 취약할 수 있다.
- 적절하게 사용하기 위해선 applications이 String concatenation 대신에 parameterized messages를 사용하도록 변경해야 한다.
- org.apache.log4j.MDC 또는 org.apache.log4j.NDC는 thread context로 대체되었다.
728x90
반응형
'Language > Java' 카테고리의 다른 글
[Java] 현재 시간을 yyyyMMddHHmmss String으로 추출하는 코드 (0) | 2022.01.04 |
---|---|
[Java] Log4j 1.x to Log4j 2 Migration - Configuring Log4j 2 (0) | 2021.12.14 |
[Java] Effective Java 3/e - Item 12) toString을 항상 재정의하라 (0) | 2021.12.06 |
[Java] Effective Java 3/e - Item 9) try-finally 보다는 try-with-resoucres를 사용하라 (0) | 2021.12.03 |
[Java] Effective Java 3/E - 1장 들어가기 (0) | 2021.12.01 |