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

Logback RollingFileAppender不记录Hibernate消息

仰城
2023-03-14
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
        </pattern>
    </encoder>
</appender>

<appender name="FILE"
    class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>C:/logs/external-web-services.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <!-- daily rollover -->
        <fileNamePattern>C:/logs/external-web-services.%d{yyyy-MM-dd}.log
        </fileNamePattern>
        <maxHistory>30</maxHistory>
    </rollingPolicy>
    <append>true</append>
    <encoder>
        <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
        </pattern>
    </encoder>
</appender>

<logger name="org.hibernate.SQL" additivity="false">
    <level value="DEBUG" />
    <appender-ref ref="FILE" />
</logger>

<logger name="org.hibernate.type" additivity="false">
    <level value="DEBUG" />
    <appender-ref ref="FILE" />
</logger>

<root level="DEBUG">
    <appender-ref ref="STDOUT" />
    <appender-ref ref="FILE" />
</root>
11:50:05,367 INFO  [stdout] (default task-9) Hibernate: 
11:50:05,367 INFO  [stdout] (default task-9)     select
11:50:05,367 INFO  [stdout] (default task-9)         ftibssettl0_.settlcycleinstanceid as settlcycleinstance1_3_,
11:50:05,367 INFO  [stdout] (default task-9)         ftibssettl0_.endtime as endtime2_3_,
11:50:05,367 INFO  [stdout] (default task-9)         ftibssettl0_.PARTSET_0_PART as PARTSET_3_3_,
11:50:05,367 INFO  [stdout] (default task-9)         ftibssettl0_.PARTSET_1_PART as PARTSET_4_3_,
11:50:05,367 INFO  [stdout] (default task-9)         ftibssettl0_.PARTSET_2_PART as PARTSET_5_3_,
11:50:05,367 INFO  [stdout] (default task-9)         ftibssettl0_.PARTSET_3_PART as PARTSET_6_3_,
11:50:05,367 INFO  [stdout] (default task-9)         ftibssettl0_.PARTSET_4_PART as PARTSET_7_3_,
11:50:05,367 INFO  [stdout] (default task-9)         ftibssettl0_.settlcycletemplateid as settlcycletemplate8_3_,
11:50:05,368 INFO  [stdout] (default task-9)         ftibssettl0_.settlementdate as settlementdate9_3_,
11:50:05,368 INFO  [stdout] (default task-9)         ftibssettl0_.starttime as starttime10_3_,
11:50:05,368 INFO  [stdout] (default task-9)         ftibssettl0_.status as status11_3_ 
11:50:05,368 INFO  [stdout] (default task-9)     from
11:50:05,368 INFO  [stdout] (default task-9)         ibsprod.FT_IBS_SETTL_CYCLE_INSTANCE ftibssettl0_ 
11:50:05,368 INFO  [stdout] (default task-9)     where
11:50:05,368 INFO  [stdout] (default task-9)         ftibssettl0_.settlementdate=?

11:50:05,417 INFO  [stdout] (default task-9) 11:50:05.417 [default task-9] DEBUG g.d.n.s.CashMovementReportService - filterAndMarkCashMovements elapsed time: PT0.017S

我使用的是JBoss,因此需要排除JBoss自己的日志子系统,以便进行日志记录,我使用的是jboss-deployment-structure.xml文件:

<jboss-deployment-structure>
  <deployment>
    <exclude-subsystems>
        <subsystem name="logging" />
    </exclude-subsystems>
  </deployment>
</jboss-deployment-structure>

我使用的是JPA,因此如果这可能有所帮助,这是我的persistence.xml文件:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"
version="2.1">

<persistence-unit name="external-ws" transaction-type="JTA">
    <description>Oracle Persistence Unit</description>
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <jta-data-source>${ds.name}</jta-data-source>
    <exclude-unlisted-classes>false</exclude-unlisted-classes>
    <properties>
        <property name="hibernate.default_schema" value="${ds.schema}"/>
        <property name="hibernate.show_sql" value="true" />
        <property name="hibernate.format_sql" value="true" />
        <property name="org.hibernate.flushMode" value="manual"/>
    </properties>
</persistence-unit>

共有1个答案

禄奇希
2023-03-14

尝试添加:

<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  <level>TRACE</level>
</filter>

到控制台和文件附加器。默认阈值为WARN。

您还可以检查这是否是log4j使用的配置文件。由于类加载未命中配置,可能会加载不同的文件。

public void configureByResource(URL url) {
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.format_sql" value="true" />
 类似资料:
  • 问题内容: 编辑:糟糕,我想如果发布删除代码会有所帮助。抱歉。 我正在使用Spring Data / JPA V 1.4.2.RELEASE和hibernate3.6.10.Final。 我遇到的情况是删除一个实体,删除似乎可以正常工作,但是当我刷新网页时,该实体会重新出现。因此,它不会产生错误,但不会删除记录。 该实体中包含子实体。我怀疑某种实体依赖问题会阻止实体真正被“删除”,但我不知道它可能

  • 我在实体之间有一对多的关系。执行此JPQL查询时: 从父项选择父项加入父项。孩子在哪里。。。 当一位家长有两个孩子时,我会得到重复的记录,当一位家长有一个孩子时,我只会得到一条记录,当没有孩子时,我会得到一条记录(如果没有孩子,我就没有记录)。请注意,SQL数据库中没有重复的父数据库。 实体声明如下: 为了简洁起见,我省略了很多代码,但这应该会让你对我要做的事情有一个清晰的认识。请注意,关系是在父

  • 我正在使用entityMenager登录,并没事。

  • 我如何让Hibernate4通过Logback登录?我有一个战争部署到野飞8决赛,我正在使用slf4j与日志。日志记录设置在应用程序中100%工作,控制台附加器和文件附加器都按预期工作。 我在日志中没有看到任何与冬眠有关的东西。 我从hibernate中看到任何东西的唯一一次是在persistence.xml中添加: 但它将日志记录到服务器日志和控制台中,而不是记录到我的日志附加程序中,即使我的根

  • 这是我的超文本标记语言PHP表页面的完整代码...

  • 我在解释Hibernate会话日志时有点卡住了。我的主要问题是许多查询有点慢 - 基于我实现的一些 TimeWatch 日志记录。为了进一步跟踪问题,我启用了Hibernate会话日志记录,目的是查看执行查询或获取连接的时间是否浪费(我猜这意味着配置错误)。 关于用例——Oracle DB、Spring、Hibernate。在“繁忙时间”,最多有15个线程对数据库执行查询。我想没什么特别的。 现在