迁移到myBatis后,日志不会出现

时间:2016-05-26 15:48:12

标签: logging mybatis

我们在应用程序中从iBATIS迁移到MyBatis3。

我在日志文件中获得的唯一日志是:

  

2016-05-26 12:46:24,973 INFO [com.mchange.v2.log.MLog](main :)使用log4j日志记录的MLog客户端。

     

2016-05-26 12:46:25,033 INFO [com.mchange.v2.c3p0.C3P0Registry](主要:)初始化c3p0-0.9.1.2 [建于2007年5月21日15:04:56;调试?真正;追踪:10]

我的应用程序是lib文件夹下的独立应用程序,所有jar都在那里,同样被添加到类路径中。 记录相关的罐子是:

  • commons-logging-1.1.1
  • SLF4J-API-1.6.1
  • 的log4j-1.2.16

我怀疑mybatis默认使用slf4j进行日志记录,因此自log4j配置完成后日志就不会出现。

以下是log4j.xml中使用的appender

<appended name="Mdf345" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="../log/application.log"/>
        <param name="Threshold" value="INFO"/>
        <!-- Rollover at midnight each day -->
        <param name="DatePattern" value="'.'yyyy-MM-dd"/>
        <layout class="org.apache.log4j.PatternLayout">
            <!-- The default pattern: Date Priority [Category] Message\n -->
            <param name="ConversionPattern" value="%d %-5p [%C] (%t:%x)    
                  %m%n"/>
         </layout>
   </appender>

任何人都可以解释这是如何工作的, 因为默认mybatis记录其他日志被压制了吗?

1 个答案:

答案 0 :(得分:0)

将以下记录器添加到您的log4j.xml和宾果游戏中。

<Logger name="com.dao.YourMyBatisMapperDao" level="all" additivity="false">
        <appender-ref ref="proj" />
</Logger>
<Logger name="com.ibatis.sqlmaps" level="all" additivity="false">
        <appender-ref ref="proj" />
</Logger>
<Logger name="import java.sql.Statement" level="all" additivity="false">
        <appender-ref ref="proj" />
</Logger>
<Logger name="import java.sql.PreparedStatement" level="all" additivity="false">
        <appender-ref ref="proj" />
</Logger>