首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Hibernate和log4j只记录插入和更新?

如何使用Hibernate和log4j只记录插入和更新?
EN

Stack Overflow用户
提问于 2013-01-08 02:09:54
回答 2查看 2.9K关注 0票数 1

我有一个基于spring的webapp,使用Hibernate来查询mysql。当我使用log4j.logger.org.hibernate.type=TRACE启用跟踪日志记录时,所有查询及其参数都会记录到控制台。这会使webapp的搜索查询速度变慢。

我只需要记录对数据库的修改。优选地,向mysql服务器发出插入/更新查询。执行此操作的最简单、最可靠的方法是什么?

我能要求log4j只记录插入查询吗?

对于我的目的来说,P6SPY似乎有点过头了。http://sourceforge.net/projects/p6spy/

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-08 05:48:50

log4j 2扩展筛选器支持。你可能想试一试RegexFilter

下面是一个找到online的快速示例

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
  <appender name="CustomAppender" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="custom.log"/>
    <param name="Append" value="true"/>
    <param name="MaxFileSize" value="5000KB"/>
    <param name="maxBackupIndex" value="5"/> 
          <layout class="org.apache.log4j.PatternLayout">
                  <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p - %m%n" />
          </layout>

          <filter class="org.apache.log4j.varia.StringMatchFilter">
                  <param name="StringToMatch" value="Here is DEBUG" />
                  <param name="AcceptOnMatch" value="true" />
          </filter>
  </appender>

  <root>
    <appender-ref ref="CustomAppender"/>
  </root>
</log4j:configuration>

然而,AFAIU它不允许您匹配通配符,这意味着在您的情况下,我猜是死胡同。

票数 2
EN

Stack Overflow用户

发布于 2013-05-20 21:32:01

您可以将过滤应用于: org.hibernate.type.descriptor.sql.BasicBinder

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14201562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档