스프링 부트 사용시 기본 로그 spring-boot-starter-logging 제거해야 합니다.
all {
exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging'
}
build.gradle 에 log4j2 와 쿼리로그를 볼수 있도록 추가하겠습니다.
build.gradle log4j2 추가
implementation 'org.springframework.boot:spring-boot-starter-log4j2'
build.gradle 쿼리로그 추가
implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16'
build.gradle 전체
plugins {
id 'org.springframework.boot' version '2.5.6'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
id 'war'
}
group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'
configurations {
compileOnly {
extendsFrom annotationProcessor
}
all {
exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging'
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-web-services'
implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.0'
compileOnly 'org.projectlombok:lombok'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
runtimeOnly 'com.h2database:h2'
runtimeOnly 'mysql:mysql-connector-java'
annotationProcessor 'org.projectlombok:lombok'
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
implementation 'org.springframework.boot:spring-boot-starter-log4j2'
implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16'
}
test {
useJUnitPlatform()
}
resources 하위 2개 파일 생성
- log4j2.xml
- log4jdbc.log4j2.properties
log4j2.xml 전체
<?xml version="1.0" encoding="UTF-8" ?>
<Configuration status="DEBUG">
<Properties>
<Property name="LOG_PATTERN">%d{HH:mm:ss.SSSZ} [%t] %-5level %logger{36} - %msg%n</Property>
</Properties>
<Appenders>
<Console name="ConsoleLog" target="SYSTEM_OUT">
<PatternLayout pattern="${LOG_PATTERN}" charset="UTF-8"/>
</Console>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="ConsoleLog" />
<AppenderRef ref="FileLog" />
</Root>
</Loggers>
</Configuration>
log4jdbc.log4j2.properties 전체
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
log4jdbc.dump.sql.maxlinelength=0
application.properties 전체
spring.thymeleaf.cache=false
spring.datasource.url=jdbc:log4jdbc:mysql://1.1.1.1:3306/DBID?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Seoul
spring.datasource.driver-class-name=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
spring.datasource.username=DBID
spring.datasource.password=DBPW
# MyBatis
mybatis.mapper-locations=classpath:mapper/**/*.xml
# model 프로퍼티 camel case 설정
mybatis.configuration.map-underscore-to-camel-case=true
# xml파일 result type에 패키지명을 생략할 수 있도록 alias 설정
mybatis.type-aliases-package=com.example.demo.domain
server.servlet.jsp.init-parameters.development=true
# log4j2
logging.config=classpath:log4j2.xml
'프로그래밍 > Java' 카테고리의 다른 글
스프링 부트 + vue.js gradle build 과정에서 npm build 자동으로 수행되도록 (0) | 2021.11.23 |
---|---|
intellij thymeleaf 재시작 없이 실시간 반영 (0) | 2021.11.18 |
스프링부트(spring boot) mybatis 에러 해결 invalid bound statement not found (0) | 2021.11.17 |
인텔리제이(Intellij)를 이용한 스프링 부트(Spring Boot) 시작 부터 배포까지 (0) | 2021.11.12 |
인텔리제이(Intellij) 스프링 부트(Spring Boot) Gradle 이용한 WAR 배포 설정 방법 (0) | 2021.11.12 |