当前位置: 首页 > 知识库问答 >
问题:

如何配置Hibernate日志使用log4j2.xml?

柳宾实
2023-03-14

我最近切换到ApacheLog4J2,仍然找不到使用log4j2配置hibernate日志的方法。xml。

因为我找不到解决这个问题的方法,我仍然使用log4j.properties文件显式Hibernate。这不是最好的解决方案,因为我的log4j2.xml使用JPA appender(将日志写入数据库)。我不想为Hibernate编写单独的逻辑。

有没有办法使用log4j2配置Hibernate日志记录?

共有3个答案

戚俊健
2023-03-14

可以将对log4j-1. x API的调用重定向到log4j-2.0实现。关于包含哪些罐子的常见问题解释了如何做到这一点。执行此操作时,可能需要从类路径中删除旧的log4j-1. x jar。

张森
2023-03-14

我在以下位置找到了这个问题的答案:如何将所有日志从hibernate和spring重定向到log4j2?

基本上,log4j2不能与Hibernate一起工作,因此必须使用log4j。但是您仍然使用log4j2配置。您需要以下依赖项,然后神奇的事情发生在后台。

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.1</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-1.2-api</artifactId>
    <version>2.1</version>
</dependency>
<dependency>
<!--HIBERNATE LOGGER (log4j)-->
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.6</version>
</dependency>
曾云
2023-03-14

如中所述https://issues.apache.org/jira/browse/LOG4J2-172您可以添加系统属性以强制Hibernate使用slf4j

-多格。jboss。登录中。提供者=slf4j

还应将log4j-slf4j-impl添加到类路径

我的定制解决方案:使用Spring,您可以放置组织。jboss。登录中。属性文件中的provider=slf4j

(envConfigplace是文件url)

<bean id="propertyConfigurer" class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
   <property name="location" ref="envConfigLocation" />
   <property name="order" value="1"/>
</bean>
 类似资料:
  • Hibernate 3. x使用slf4j进行日志记录。Hibernate 4. x使用jboss日志记录。我正在编写一个使用Hibernate 4和SLF4J进行日志记录的独立应用程序。 如何配置Hibernate以登录到SLF4J? 如果这不可能,我如何配置Hibernate的日志记录? Hibernate 4.1关于日志记录的手动部分以警告开始,它是。。。 完全过时了。Hibernate从4

  • 我是Log4J2的新手。我正在尝试配置一个使用slf4j和LOG4J2的日志记录系统。

  • 问题内容: 我还找不到关于如何使用Log4j的XML样式配置文件配置Hibernate日志记录的任何文档。 这是否有可能,或者我是否使用属性样式配置文件来控制Hibernate的日志记录? 如果有人有任何信息或文档链接,我们将不胜感激。 编辑: 只是为了澄清,我正在寻找控制Hibernate的实际XML语法的示例。 EDIT2: 这是我的XML配置文件中的内容。 日志记录工作正常,但是我正在寻找一

  • (F.Y.I.我已经在互联网上搜索了很多文档。我正在使用storm-0.10.0-beta1。storm中log4j2的配置文件是worker.xml) 现在,我尝试使用log4j2。 我正在寻找删除旧日志的方法,但我找不到。部分配置如下。 起初,我期望删除超过3天的日志文件。 但事实上,事实并非如此。 所以,我想知道是否有办法删除旧日志。 如果有一条路我还没有找到,请通知我。

  • 我将log4j2与xml配置一起使用。我想记录由 如何在log4j2 xml配置文件中配置它来记录这些?

  • 我想通过log4j2配置生成半天日志文件。我已经给出: 还定义了: 但我只得到AM日志在这种方式,虽然我希望它是什么: 有人能帮我吗?