You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在EAP的EAR中按部署配置Hibernate日志?

在JBoss EAP 7.4.7的EAR per-deployment日志配置中生效Hibernate日志级别

正确的logging.properties配置示例

直接在EAR的META-INF/logging.properties中添加以下配置(保留你原有的基础配置,补充Hibernate相关的日志级别设置):

# 基础处理器配置(根据你的需求调整)
handlers = java.util.logging.ConsoleHandler, org.jboss.logmanager.handlers.FileHandler

# 控制台处理器配置
java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = org.jboss.logmanager.formatters.PatternFormatter
java.util.logging.ConsoleHandler.formatter.pattern = %d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n

# 文件处理器配置(可选,输出到独立日志文件)
org.jboss.logmanager.handlers.FileHandler.level = DEBUG
org.jboss.logmanager.handlers.FileHandler.formatter = org.jboss.logmanager.formatters.PatternFormatter
org.jboss.logmanager.handlers.FileHandler.formatter.pattern = %d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n
org.jboss.logmanager.handlers.FileHandler.file = ${jboss.server.log.dir}/my-ear-app.log
org.jboss.logmanager.handlers.FileHandler.append = true

# 核心配置:开启Hibernate SQL日志
logger.org.hibernate.SQL.level = DEBUG
# 可选:开启SQL绑定参数日志(需TRACE级别)
logger.org.hibernate.type.descriptor.sql.BasicBinder.level = TRACE

关键注意事项

  • 确认per-deployment配置已加载:启动EAP时,检查服务器日志,会有类似Deployed "your-app.ear" (runtime-name: "your-app.ear") with per-deployment logging configuration的日志条目,说明部署的日志配置被正确识别。
  • 检查全局日志配置的开关:打开standalone.xml(或domain.xml),找到logging子系统,确保use-deployment-logging-config属性值为true:
<subsystem xmlns="urn:jboss:domain:logging:8.0">
    <use-deployment-logging-config>true</use-deployment-logging-config>
    <!-- 其他日志配置 -->
</subsystem>

如果该值为false,EAP会忽略部署包内的日志配置,使用全局配置。

  • 日志输出目标验证:如果配置了FileHandler,日志会输出到指定的文件(如my-ear-app.log),而非EAP默认的server.log;如果使用ConsoleHandler,则查看服务器控制台输出。
  • Hibernate类别正确性:EAP 7.4.7配套的Hibernate版本是5.3.x,org.hibernate.SQL是正确的日志类别,无需调整。

排障步骤

如果配置后仍未生效:

  1. 先临时添加logger.org.hibernate.level = DEBUG,开启Hibernate全量DEBUG日志,验证是否有Hibernate相关日志输出,排除类别写错的问题。
  2. 检查全局日志中是否对org.hibernate.SQL设置了更高优先级的级别(比如INFO),虽然per-deployment配置优先级更高,但如果全局配置了add-logging-api-dependencies="false",可能导致配置不生效,需确保该属性为true(默认值)。

内容的提问来源于stack exchange,提问作者ula.uvula

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 07:30:30