log4j2 설치

김선미·2022년 9월 13일
0

gradle, springboot, mysql 사용환경에 log4j2 라이브러리를 사용하기 위해 다음과 같이 설정했다.

  • log4j2 라이브러리 설치

    • applicatoin.properties
    • build.gradle
  • log4j2 설정

    • logback-spring.xml
    • log4jdbc.log4j2.properties
  • application.properties

# Data Source
spring.datasource.hikari.driver-class-name=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
spring.datasource.hikari.jdbc-url=jdbc:log4jdbc:mysql://localhost:3306/jpa?serverTimezone=Asia/Seoul&useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true
// 본인 설정 입력
spring.datasource.hikari.username=root // 본인 설정 입력
spring.datasource.hikari.password=root1234 // 본인 설정 입력
spring.datasource.hikari.connection-test-query=SELECT NOW() FROM dual

# Resource and Thymeleaf Refresh
spring.devtools.livereload.enabled=true
spring.thymeleaf.cache=false

# JPA Properties
spring.jpa.database=mysql
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.generate-ddl=false
spring.jpa.hibernate.ddl-auto=update
spring.jpa.open-in-view=false
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.properties.hibernate.use_sql_comments=true
  • build.gradle
implementation 'org.springframework.boot:spring-boot-starter-log4j2'
implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16'
// dependency 추가, 아래 줄만 추가해도 된다고 한다. 
  • log4jdbc.log4j2.properties
log4jdbc.spylogdelegator.name = net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator 
log4jdbc.dump.sql.maxlinelength = 0
log4jdbc.drivers=com.mysql.cj.jdbc.Driver 
log4jdbc.auto.load.popular.drivers=false 
// mysql 드라이버 버전 문제를 해결하기 위해 아래 두 줄을 추가해주었다.
  • logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">

    <!-- Appenders -->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <Pattern>%d %5p [%c] %m%n</Pattern>
        </encoder>
    </appender>

    <appender name="console-infolog" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <Pattern>%d %5p %m%n</Pattern>
        </encoder>
    </appender>

    <!-- Logger -->
    <logger name="com.example.board" level="DEBUG" appender-ref="console" /> 
    // 로그를 적용할 패키지 상위 주소를 적어주었다. 
    <logger name="jdbc.sqlonly" level="INFO" appender-ref="console-infolog" />
    <logger name="jdbc.resultsettable" level="INFO" appender-ref="console-infolog" />

    <!-- Root Logger -->
    <root level="off">
        <appender-ref ref="console" />
    </root>
</configuration>
profile
백엔드 개발 공부

0개의 댓글