-
03. MyBatis 로그 남기기(Log4j 2)MyBatis 2021. 12. 7. 00:33반응형
MyBatis(마이바티스)는 내부 로그 팩토리를 사용하여 로깅 정보를 제공합니다. 내부 로그 팩토리는 로깅 정보를 다른 로그 구현체 중 하나에 전달합니다.
아래 Logging(로깅) 구현체의 나열 순서는 내부적으로 선택하는 우선순위입니다. 만약 MyBatis(마이바티스)가 아래 구현체중 하나도 찾지 못한다면 Logging(로깅)을 하지 않습니다.
- SLF4J
- Apache Commons Logging
- Log4j 2
- Log4j
- JDK logging
저는 Log4j 2을 적용하기로 헀습니다.
아래 사이트에 접속하여 Log4j 2 관련 소스를 받아줍니다.
https://logging.apache.org/log4j/2.x/download.html
다운로드한 파일을 열어보면 .jar 파일이 많은데 그 중 log4j-api-2.14.1.jar, log4j-core-2.14.1.jar 파일을 자신의 프로젝트 WEB-INF/lib 아래에 추가하여 줍니다.
log4j2의 경우 클래스 경로에서 설정 파일을 찾습니다.
설정파일은 properties, yaml, json, xml 형태로 작성이 가능합니다.
설정파일의 이름은 log4j2-test 또는 log4j2 으로 지정되어있습니다.
설정 파일명과 적용 우선 순위는 아래와 같습니다.
log4j2-test.properties-> log4j2-test.yml -> log4j2-test.jsn -> log4j2-test.xml
-> log4j2.properties -> log4j2.yml -> log4j2.jsn -> log4j2.xml
설정 파일이 없을 경우 DefaultConfiguration을 사용하게 됩니다.
log4j2.properties 파일명으로 아래와 같이 설정파일을 생성하여 줍니다.
status = TRACE name = PropertiesConfig filter.threshold.type = ThresholdFilter filter.threshold.level = trace appender.console.type = Console appender.console.name = STDOUT appender.console.layout.type = PatternLayout appender.console.layout.pattern = %m%n appender.console.filter.threshold.type = ThresholdFilter appender.console.filter.threshold.level = TRACE rootLogger.level = info rootLogger.appenderRef.stdout.ref = STDOUT
그 후 만들어진 log4j2.properties 파일을 클래스경로(src/main/resouces)에 추가하여 줍니다.
그 후 시스템을 실행하여 줍니다.
<log4j2 적용 전>
<log4j2 적용 후>
아래와 같이 소스상에 적용하면 콘솔에 확인이 가능합니다.
Logger log4j = LogManager.getLogger(); log4j.info("asdsad"); log4j.debug("Logging in user {}", userInfoList.get(0).getName()); //조회 결과 값
또한 sql 문과 결과 정보까지 확인이 가능 합니다.반응형'MyBatis' 카테고리의 다른 글
02. MyBatis properties 설정하기 (0) 2021.12.01 01. MyBatis 설정 (Mysql ) (0) 2021.11.30 00. 마이바티스(Mybatis) 란? (0) 2021.11.29