Log4j Apache Log4j™ 2 사용하기

황제낙엽 2023.04.28 15:13 조회 수 : 78

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 로드 정보를 출력해 준다.

번호 제목 글쓴이 날짜 조회 수
58 셀 크기 조정 (자동 크기 조정) 황제낙엽 2011.05.03 7816
57 Cell 의 wrap 설정 (텍스트 개행) file 황제낙엽 2011.05.09 3121
56 병합된 셀의 스타일( border) 설정하기 황제낙엽 2011.05.03 1761
55 POI HSSF, XSSF, SXSSF 성능 분석 file 황제낙엽 2013.11.05 1662
54 Parsing and Processing Large XML Documents with Digester Rules (해석중) file 황제낙엽 2008.05.13 1571
53 POI 셀 스타일 설정을 위한 예제 소스 file 황제낙엽 2008.05.16 1464
52 엑셀(Excel)문서 처리 패키지 황제낙엽 2007.01.22 1446
51 POI-HSSF and POI-XSSF - Java API To Access Microsoft Excel Format Files 황제낙엽 2013.11.05 1135
50 Comma Separated Values (CSV) - au.com.bytecode.opencsv file 황제낙엽 2007.01.23 901
49 Parsing, indexing, and searching XML with Digester and Lucene 황제낙엽 2008.05.07 543
48 Library & Properties 파일 file 황제낙엽 2011.12.23 496
47 POI HSSF 기능 가이드 -- 퀵·가이드 (한글) 황제낙엽 2008.05.16 436
46 JUnit 3.8에서 JUnit 4, TestNG 활용으로 황제낙엽 2007.09.17 426
45 Junit 을 이용한 효율적인 단위 테스트 전략 황제낙엽 2007.01.30 371
44 XSSF Examples file 황제낙엽 2011.05.04 337
43 POI HSSF 기능 가이드 -- 퀵·가이드 (영문) 황제낙엽 2008.05.15 300
42 사용자 정의 Appender 정의하여 Log4j 확장하기 황제낙엽 2009.05.28 291
41 log4j-1.2.15.jar 와 log4j.properties 예제 file 황제낙엽 2017.08.04 281
40 Apache Log4j 2 Configuration 파일 설정 황제낙엽 2020.04.01 273
39 Comma Separated Values (CSV) - com.Ostermiller.util Java Utilities 황제낙엽 2007.01.23 272