zz log4j输出sql

新增一个appender,这里的filter必需要设置成为DEBUG的level. 设置其他的,不会输出sql语句。

 <appender name="IBatis" class="org.apache.log4j.ConsoleAppender">
  <layout class="org.apache.log4j.PatternLayout">
   <param name="ConversionPattern"
    value="%-4r [%t] %-5p %c %x - %m%n" />
  </layout>
  <filter class="org.apache.log4j.varia.LevelRangeFilter">
   <param name="LevelMin" value="DEBUG" />
   <param name="LevelMax" value="DEBUG" />
  </filter>
 </appender>

再增加N个logger.

<logger name="com.ibatis" additivity="true">
  <level value="DEBUG" />
 </logger>
 
 <logger name="java.sql.Connection" additivity="true">
  <level value="DEBUG" />
 </logger>
 
 <logger name="java.sql.Statement" additivity="true">
  <level value="DEBUG" />
 </logger>
 
 <logger name="java.sql.PreparedStatement" additivity="true">
  <level value="DEBUG" />
  <appender-ref ref="IBatis" />
 </logger>
 
 <logger name="java.sql.ResultSet" additivity="true">
  <level value="DEBUG" />
  <appender-ref ref="IBatis" />
 </logger>

上面的logger,也一个都不能少。
<appender-ref ref="IBatis" />指向上面的IBatis,就会和log一起输出,没加<appender-ref ref="IBatis" />标签的,日记里不会显示内容。

你可能感兴趣的:(java,apache,sql,log4j,ibatis)