日志文件每天跟踪JPA / Hibernate更新/插入

时间:2014-09-17 17:39:38

标签: java spring hibernate jpa log4j

我有一个使用JPA / Hibernate的Spring应用程序。我想跟踪数据库中的每个插入和更新语句。是否可以将数据更新记录到文件中并每天输出新文件。基本上,如果数据库中发生了某些变化,我想在日志文件中跟踪它。每天需要有一个日志文件。我的应用程序中有log4.xml。除此之外,我不知道从哪里开始。有什么建议。非常感谢提示解决方案和指向良好参考的指南。

3 个答案:

答案 0 :(得分:1)

可以记录hibernate触发的每个sql。您可以使用滚动文件配置来每天获取新文件。 参考:http://logging.apache.org/log4j/1.2/manual.html 我希望这会有所帮助。

答案 1 :(得分:0)

非常简单,在log4j配置文件中添加一个新的appender。

示例:

    <appender name="RollingAppender" class="org.apache.log4j.DailyRollingFileAppender">
       <param name="File" value="app.log" />
       <param name="DatePattern" value="'.'yyyy-MM-dd" />
       <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern" value="[%p] %d %c %M - %m%n"/>          
       </layout>
    </appender>

答案 2 :(得分:0)

在hibernate配置中,将show sql属性设置为true,然后使用一些日志API将hibernate日志重定向到文件

<property name="show_sql">true</property>


log4j.logger.org.hibernate.SQL=DEBUG
log4j.logger.org.hibernate.type=TRACE

参考文献:Hibernate show real SQL