sitelink1 | https://logging.apache.org/log4j/2.x/man...ation.html |
---|---|
sitelink2 | https://tlatmsrud.tistory.com/31 |
sitelink3 | |
extra_vars4 | |
extra_vars5 | |
extra_vars6 |
1. 다음의 라이브러리를 추가한다
- commons-logging-1.x.x.jar
- log4j-api-2.x.x.jar
- log4j-core-2.x.x.jar
* gradle 을 사용한다면 다음과 같이 의존성을 추가한다.
- implementation 'commons-logging:commons-logging:1.2'
- implementation 'org.apache.logging.log4j:log4j-api:2.24.3'
- implementation 'org.apache.logging.log4j:log4j-core:2.24.3'
2. 다음과 같은 형식으로 log4j2.xml 파일을 작성한다
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<!-- 로그 출력 방식 -->
<Appenders>
<!-- 콘솔 출력 방식 -->
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n" />
</Console>
<!-- 파일 저장 방식 -->
<File name="file" fileName="D:/LOGS/JINIEBOX_DEV.log">
<PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
</File>
</Appenders>
<Loggers>
<!-- one 패키지의 'andTwo 클래스의 로그 레벨은 info로 올리고', file로 저장할래 -->
<!-- additivity는 같은 로그가 있다면 additivity가 설정되어있는 로거에서만 출력하도로 설정하는거야.
참고로 모든 로거에는 기본 로그가 남는데 아래처럼 따로 설정한 로그 방식을 AppenderRef 해준다면 기본 로그+Append 로그. 총 2개의 로그가 남아.
기본로그는 최소의 정보만 들어있기때문에 이를 막아야겠지? 로그 자체는 동일하기때문에 additivity를 false로 해 주면 기본로그는 뜨지 않을거야. -->
<Logger name = "com.omnibuscode" level="DEBUG" additivity = 'false'>
<AppenderRef ref="STDOUT"/>
<AppenderRef ref="file"/>
</Logger>
</Loggers>
</Configuration>
3. classpath 경로에 log4j2.xml 을 위치한다
- log4j2 가 로드되면서 설정 파일을 classpath 경로에서 찾게 된다
4. 로깅할 클래스에서 다음과 같이 전역변수를 선언한다
- Logger log = LogManager.getLogger(클래스명.class);
※ log4j2 가 올바르게 로드되는지 확인하려면 jvm 실행 옵션에 다음을 추가하면 된다.
- " -Dlog4j2.debug"
- tomcat 의 경우 VM arguments 를 찾아 추가해 주면 실행 콘솔에 log4j 로드 정보를 출력해 준다.
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
15 | 톰캣에서 로그 파일 저장시 ansi 로 저장되는 현상 | 황제낙엽 | 2024.10.21 | 72 |
» | Apache Log4j™ 2 사용하기 | 황제낙엽 | 2023.04.28 | 77 |
13 | Migrating from Log4j 1.x to 2.x | 황제낙엽 | 2023.04.28 | 79 |
12 |
SLF4J 를 사용해야 하는 이유
![]() | 황제낙엽 | 2022.09.17 | 68 |
11 | Apache Log4j 2 Configuration 파일 설정 | 황제낙엽 | 2020.04.01 | 272 |
10 | 각 레벨별 출력파일 설정 예제 | 황제낙엽 | 2018.09.18 | 216 |
9 |
log4j-1.2.15.jar 와 log4j.properties 예제
![]() | 황제낙엽 | 2017.08.04 | 281 |
8 | Commons Logging과 Log4J | 황제낙엽 | 2013.03.07 | 179 |
7 |
Library & Properties 파일
![]() | 황제낙엽 | 2011.12.23 | 489 |
6 | WebSphere 에서 Log4j 사용하기 | 황제낙엽 | 2011.04.15 | 125 |
5 |
접속 클라이언트의 아이피별로 로그 화일 기록하기
![]() | 황제낙엽 | 2009.06.01 | 244 |
4 |
영문 메뉴얼 (PDF)
![]() | 황제낙엽 | 2009.05.29 | 68 |
3 | 사용자 정의 Appender 정의하여 Log4j 확장하기 | 황제낙엽 | 2009.05.28 | 290 |
2 | log4j에서 여러파일에 로그남기기 | 황제낙엽 | 2007.09.04 | 63 |
1 | Log4j 웹에서 사용하기 | 황제낙엽 | 2007.05.13 | 97 |