0

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

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

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

4

1 回答 1

0

你在使用日志框架还是什么?我将 Log4J 日志记录与 consoleAppender 类“org.apache.log4j.ConsoleAppender”和 fileAppender 类一起使用,并且我的 ConversionPattern 设置为“%d{ISO8601} %-5p %m%n”,它对我来说非常有效。

控制台附加程序设置

  <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 文件以及您使用的日志记录框架。

于 2013-09-02T07:52:47.440 回答