mybatis를 통해 SQL 데이터베이스와 통신해야하는 스프링 기반 응용 프로그램에서 작업하고 있습니다. 괜찮지 만 로그 대상입니다.myBatis가 대상 파일과 수준을 제어합니다.
왜 mybatis가 잘못된 파일에 로그를 남깁니 까? 그 이유를 알아낼 수 있습니까?
### Appenders
# Console appender
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Threshold=WARN
log4j.appender.console.layout=org.apache.log4j.PatternLayout
# Application file appender
log4j.appender.main=org.apache.log4j.RollingFileAppender
log4j.appender.main.File=logs/app.log
log4j.appender.main.layout=org.apache.log4j.PatternLayout
log4j.appender.main.MaxFileSize=10MB
log4j.appender.main.MaxBackupIndex=15
# Libs file appender
log4j.appender.libs=org.apache.log4j.RollingFileAppender
log4j.appender.libs.File=logs/app_libs.log
log4j.appender.libs.layout=org.apache.log4j.PatternLayout
log4j.appender.libs.MaxFileSize=10MB
log4j.appender.libs.MaxBackupIndex=15
### Loggers & additivity
# Application
log4j.additivity.our.company.basepackage=false
log4j.logger.our.company.basepackage=TRACE,main,console
# Root logger
log4j.rootLogger=INFO,libs
의 pom.xml 내가 MyBatis로 ("org.apache.ibatis.logging.jdbc의 TRACE 수준의 행을 찾을 수
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.7.5</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.5</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
<scope>runtime</scope>
</dependency>
스 니펫 :
log4j.properties : 여기 내 구성입니다. BaseJdbcLogger.trace (BaseJdbcLogger.java:145) ")를"app.log "파일에 저장하십시오.
나는 spring-core에서 commons-logging을 제외 시켰고 의존성 트리에서는 commons-logging을 볼 수 없었다. mybatis가 "app_libs.log"파일에 로깅되지 않는 이유는 무엇입니까? mybatis가 지정된 레벨을 존중하지 않는 이유는 무엇입니까?
감사합니다.
편집 한
조회됩니다 데이터베이스가 MyBatis로 발전기로 생성 된있는 코드와 생성 된 코드는 어딘가에 패키지 "our.company.basepackage"에서 살고있다.