我正在研究一個基於spring的應用程序,該應用程序必須通過mybatis與SQL數據庫進行通信:除了日誌目標之外的所有權利。控制myBatis日誌目標文件和級別
由於某種原因mybatis記錄到錯誤的文件,你能幫我找出原因嗎?下面是我的配置:
log4j.properties:
### 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的片斷
<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>
我找到的MyBatis(「org.apache.ibatis.logging.jdbc的痕量行。 BaseJdbcLogger.trace(BaseJdbcLogger.java:145)「)放在文件」app.log「中。
我從spring-core中排除了commons-logging,並且使用依賴關係樹,我沒有看到commons-logging。爲什麼不mybatis記錄到文件「app_libs.log」?爲什麼mybatis不尊重規定的水平?
謝謝。
編輯1
與被查詢的數據庫已經與MyBatis的發電機生成的代碼,生成的代碼存在下的包「our.company.basepackage」的地方。