【问题标题】:open jpa - capture logging using log4j.xml打开 jpa - 使用 log4j.xml 捕获日志记录
【发布时间】:2013-12-27 20:08:13
【问题描述】:

我正在尝试设置我的 log4j.xml,以便它捕获 JPA 生成的 sql 查询。我的第一步是启用 JPA 日志记录。

我通过将以下内容添加到我的 persistence.xml 文件中来做到这一点......

       <property name="openjpa.Log" value="openjpa.jdbc.MetaData=TRACE"/>
       <property name="openjpa.Log" value="openjpa.jdbc.JDBC=TRACE"/>
       <property name="openjpa.Log" value="SQL=TRACE"/> 

在我这样做之后立即开始在控制台上获得输出...

6032  camel  TRACE  [Camel (camel) thread #0 - file://src/inbox/items/] openjpa.jdbc.SQL - <t 272983323, conn 752449949> [1 ms] spent
6077  camel  TRACE  [Camel (camel) thread #0 - file://src/inbox/items/] openjpa.jdbc.SQL - <t 272983323, conn 1005639669> executing prepstmnt 1497874461 INSERT INTO stg_import_payload (id, FILENAME, LOAD_DATETIME, IMPORT_PAYLOAD_BODY, IMPORT_PAYLOAD_TYPE, ...

但我无法在我的日志文件中获取此输出。我在 log4j.xml 中有一些设置不正确。感谢您是否可以看一看并提供帮助。这是我的设置...

 <appender name="DatabaseLog" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="/var/log/myproject/database.log"/>
    <param name="MaxFileSize" value="5MB"/>
    <param name="MaxBackupIndex" value="10"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d{yyyy-MM-dd,HH:mm:ss.SSS},%m%n"/>
    </layout>
    <filter class="org.apache.log4j.varia.LevelRangeFilter">
      <param name="levelMin" value="TRACE" />
      <param name="levelMax" value="WARN" />
    </filter>
  </appender>

  <logger name="openjpa.jdbc.SQL" additivity="false">
     <appender-ref ref="DatabaseLog"/>
  </logger>   

  <root>
    <priority value="INFO" />
  </root>

谢谢

【问题讨论】:

    标签: java log4j apache-camel openjpa


    【解决方案1】:

    感谢下面的帖子...

    How do I configure OpenJPA SQL logging?

    这给了我一个关于需要做什么的巨大提示,我解决了这个问题。

    在 log4j.xml 中我需要

    <logger name="openjpa.jdbc.SQL" additivity="false">
     <appender-ref ref="DatabaseLog"/>
    </logger>    
    
    <category name="openjpa.jdbc.SQL">
            <level value="TRACE" />
    </category>
    

    然后你需要在persistence.xml中添加...

    <property name="openjpa.Log" value="log4j"/>  
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多