2013-12-10 7 views
0

Я пытаюсь установить свой файл log4j.xml так, чтобы он захватывал sql-запросы, сгенерированные JPA. Мой первый шаг состоял в том, чтобы включить регистрацию JPA.open jpa - регистрация записи с использованием log4j.xml

Я сделал это, добавив следующие строки в мой файл 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> 

благодарит

ответ

2

Благодаря следующему сообщению ...

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"/> 
Смежные вопросы