iBatis logging log4j - 如何在日志中获取sql id

时间:2013-08-23 15:49:08

标签: logging ibatis

我有iBatis日志工作,它在日志文件中打印sql stmt,参数等。  但是它不会打印选择ID。

例如:select id="getUserInfo" parameterClass="String" resultClass="String"

我想在日志中打印getUserInfo。  我该怎么做?

1 个答案:

答案 0 :(得分:0)

您使用的是日志框架吗?我使用带有consoleAppender类“org.apache.log4j.ConsoleAppender”和fileAppender类的Log4J日志记录,并且我将ConversionPattern设置为“%d {ISO8601}%-5p%m%n”,它对我来说非常适合。< / p>

控制台附加设置

  <appender name="A1" class="org.apache.log4j.ConsoleAppender">
     <param name="Target" value="System.out"/>
     <param name="Threshold" value="DEBUG"/>
     <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d{ISO8601} %-5p %m%n"/>
     </layout>
 </appender>

我的log4j.xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration debug="false" xmlns:log4j="http://jakarta.apache.org/log4j/">

  <appender name="A1" class="org.apache.log4j.ConsoleAppender">
    <param name="Target" value="System.out"/>
    <param name="Threshold" value="DEBUG"/>
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d{ISO8601} %-5p %m%n"/>
    </layout>
  </appender>

  <appender name="A2" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="../logs/Server.log"/>
    <param name="MaxFileSize" value="100MB"/>
    <param name="MaxBackupIndex" value="2"/>
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d{ISO8601} %-5p %m%n"/>
    </layout>
  </appender>

  <root>    
    <level value="DEBUG"/>
    <appender-ref ref="A1"/>
    <appender-ref ref="A2"/>
  </root>  

 </log4j:configuration>

Server.log文件 - getXYZQuery

    2013-09-02 15:34:44,230 DEBUG {conn-100087} Preparing Statement:   SELECT X,Y,Z FROM XYZ_TBL WHERE TYPE_ID = 1 ORDER BY SORT_PRIORITY asc  
    2013-09-02 15:34:44,230 DEBUG {pstm-100088} Executing Statement:   SELECT X,Y,Z FROM XYZ_TBL WHERE TYPE_ID = 1 ORDER BY SORT_PRIORITY asc  
    2013-09-02 15:34:44,231 DEBUG {conn-100089} Connection
    2013-09-02 15:34:44,240 DEBUG {pstm-100088} Parameters: []
    2013-09-02 15:34:44,243 DEBUG {rset-100091} ResultSet
    2013-09-02 15:34:44,244 DEBUG Query getXYZQuery 18 ms using LIST (9-wlt.getWorkListTabFilter myPcHost)
    2013-09-02 15:34:44,246 DEBUG SQL_RETURN_CONN: OPERATIONAL_DB returned connection 000000001652311912 (A1/100 I1/40 W0)

getXYZQuery是

中的选择ID
select id="getXYZQuery" parameterClass="String" resultClass="String"

我希望这可行,或许它不会向我发送您的iBatis XML文件以及您正在使用的日志框架。