JAVA

log4j2.xml을 사용하여 애플리케이션의 로깅 구성 관리

wooyit 2023. 7. 20. 16:30

로깅은 모든 애플리케이션의 필수 부분입니다. 개발자가 애플리케이션의 동작을 추적하고 성능을 모니터링하며 문제가 발생할 때 진단하는 데 도움이 됩니다. 

 

log4j2.xml을 사용하여 애플리케이션의 로깅 구성을 관리하는 방법과 JDBC를 사용하여 데이터베이스에 연결하는 방법을 살펴봅니다.

log4j2.xml 설정


log4j2.xml은 강력한 Java 기반 로깅 유틸리티인 Log4j 2에서 사용하는 구성 파일입니다. 이 파일을 통해 애플리케이션에서 사용되는 로거 및 어펜더, 로깅 수준 및 출력 방향을 지정할 수 있습니다.

다음은 log4j2.xml 구성의 예입니다.

 

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
    <Appenders>
        <Console name="console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d %5p [%c] %m%n" />
        </Console>
    </Appenders>
    <Loggers>
        <Logger name="java.sql" level="INFO" additivity="false">
            <AppenderRef ref="console" />
        </Logger>
        <Logger name="egovframework" level="DEBUG" additivity="false">
            <AppenderRef ref="console" />
        </Logger>
        <Logger name="jdbc.sqlonly" level="INFO" additivity="false">
            <AppenderRef ref="console" />
        </Logger>
        <Logger name="org.springframework" level="INFO" additivity="false">
            <AppenderRef ref="console" />
        </Logger>
        <Root level="ERROR">
            <AppenderRef ref="console" />
        </Root>
    </Loggers>
</Configuration>

 

 

 

위의 구성에서:

  • SYSTEM_OUT으로 출력하는 콘솔 어펜더를 정의했습니다.

  • java.sql, egovframework, jdbc.sqlonly 및 org.springframework에 대한 특정 로거를 포함하여 다양한 로깅 수준(INFO, DEBUG, ERROR)에서 여러 로거가 설정됩니다.

  • 각 로거는 <AppenderRef ref="console" />에 지정된 대로 콘솔에 출력됩니다.


애플리케이션에 적합한 로거 및 레벨을 지정하여 애플리케이션의 필요에 맞게 이 구성을 조정하십시오.


JDBC로 데이터베이스에 연결하기


이제 로깅을 설정했으므로 데이터베이스에 연결해 보겠습니다. Java 응용 프로그램이 데이터베이스와 상호 작용할 수 있도록 하는 API인 JDBC(Java Database Connectivity)를 사용합니다.

다음은 Tibero 데이터베이스에 연결하기 위한 JDBC URL의 예입니다.

 

jdbc:log4jdbc:tibero:thin:@127.0.0.1:8629:tibero

 

이 연결 문자열은 다음을 지정합니다.

  • jdbc:log4jdbc:: 이 접두어는 JDBC를 사용하고 있으며 로그에서 SQL 쿼리를 더 쉽게 볼 수 있게 해주는 Java 라이브러리인 log4jdbc도 사용하고 있음을 나타냅니다.
  • tibero:thin:: "thin" 드라이버 유형을 사용하여 Tibero 데이터베이스에 연결 중임을 나타냅니다.

  • @192.168.120.36:8629:tibero: 데이터베이스 서버의 IP 주소와 포트, 해당 서버의 특정 데이터베이스.
    실제 데이터베이스와 일치하도록 IP 주소, 포트 및 데이터베이스 이름을 대체하십시오.

 

JDBC URL 사용할 때 오류 발생 시

2023.07.20 - [eclipse] - Java 런타임 예외 : JDBC 드라이버 문제 해결에 대한 단계별 가이드

 

Caused by: java.lang.RuntimeException: Driver com.tmax.tibero.jdbc.TbDriver claims to not accept jdbcUrl, jdbc:log4jdbc:tibero:t

1. 의존성 추가 egovframework.rte egovframework.rte.fdl.logging ${egovframework.rte.version} log4j log4j net.sf log4jdbc3 org.slf4j slf4j-log4j12 egovframework.rte egovframework.rte.fdl.xml ${egovframework.rte.version} net.sf.ehcache ehcache-terracotta

lyong88.tistory.com

발생한 오류에 대해 해결법입니다.

 

마무리


log4j2.xml로 애플리케이션의 로깅 구성을 효과적으로 관리하고 JDBC로 데이터베이스 연결을 설정하면 애플리케이션의 성능을 모니터링하고 문제를 해결하며 애플리케이션을 원활하게 실행할 수 있습니다.