相关疑难解决方法(0)

iBatis,spring,如何记录执行的sql?

我正在使用带弹簧框架的iBatis.我想记录iBatis在我说出类似内容时执行的sql

Employee e = (Employee) getSqlMapClientTemplate().queryForObject("emp_sql", emp);
Run Code Online (Sandbox Code Playgroud)

上面的代码行将在我拥有的ibatis sql文件中查找"emp_sql"id.然后运行对应于"emp_sql"的查询.我想记录此查询.

我有以下log4j xml属性文件.

<appender name="sqlLogAppender" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="file" value="/disk1/logs/sql.log"/>
    <param name="datePattern" value="'-'yyyy-MM-dd'.txt'"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%m %n"/>
    </layout>
   <filter class="org.apache.log4j.varia.LevelRangeFilter">
        <param name="LevelMin" value="DEBUG"/>
    </filter>
</appender>

<logger name="log4j.logger.com.ibatis">
    <level value="DEBUG"/>
    <appender-ref ref="sqlLogAppender"/>
</logger>


<logger name="log4j.logger.java.sql.Connection">
    <level value="DEBUG"/>
    <appender-ref ref="sqlLogAppender"/>
</logger>

<logger name="log4j.logger.java.sql.PreparedStatement">
    <level value="DEBUG"/>
    <appender-ref ref="sqlLogAppender"/>
</logger>
Run Code Online (Sandbox Code Playgroud)

我仍然无法获得ibatis执行的sql.配置有问题吗?我应该说

<appender name="sqlLogAppender" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="file" value="/disk1/logs/sql.log"/>
    <param name="datePattern" value="'-'yyyy-MM-dd'.txt'"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%m %n"/>
    </layout>
   <filter class="org.apache.log4j.varia.LevelRangeFilter">
        <param name="LevelMin" value="DEBUG"/>
    </filter>
</appender>

<logger …
Run Code Online (Sandbox Code Playgroud)

java logging spring ibatis

18
推荐指数
1
解决办法
4万
查看次数

标签 统计

ibatis ×1

java ×1

logging ×1

spring ×1