sql - 在其他 .log 文件/Wildfly 11 中记录 org.hibernate.SQL
问题描述
我在子系统中有这个standalone.xml 配置:
<subsystem xmlns="urn:jboss:domain:logging:3.0">
<console-handler name="CONSOLE">
<level name="INFO"/>
<formatter>
<pattern-formatter pattern="%d %-5p [%c] (%t) %s%E%n"/>
</formatter>
</console-handler>
<periodic-rotating-file-handler name="FILE">
<formatter>
<pattern-formatter pattern="%d %-5p [%c] (%t) %s%E%n"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="server.log"/>
<suffix value=".yyyy-MM-dd"/>
<append value="true"/>
</periodic-rotating-file-handler>
<periodic-rotating-file-handler name="CMP">
<formatter>
<pattern-formatter pattern="%d %-5p [%c] (%t) %s%E%n"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="CMP.log"/>
<suffix value=".yyyy-MM-dd"/>
<append value="true"/>
</periodic-rotating-file-handler>
<logger category="org.hibernate.SQL">
<level name="DEBUG"/>
<handlers>
<handler name="CMP"/>
</handlers>
</logger>
<root-logger>
<level name="INFO"/>
<handlers>
<handler name="CONSOLE"/>
<handler name="FILE"/>
</handlers>
</root-logger>
</subsystem>
当我运行应用程序时,它会在两个文件中打印 org.hibernate.SQL(例如 SQL 查询),但我希望它仅在 CMP.log 文件中打印 org.hibernate.SQL。
如何从 server.log 中排除 org.hibernate.SQL 写入并仅在 CMP.log 文件中打印?
解决方案
您需要在记录器上设置use-parent-handlers
为。使用 CLI,您可以执行以下操作:false
org.hibernate.SQL
/subsystem=logging/logger=org.hibernate.SQL:write-attribute(name=use-parent-handlers, value=false)
推荐阅读
- amazon-web-services - ECS 错误:“最接近的匹配容器实例缺少您的任务所需的属性”
- python - optimize_for_inference_lib.optimize_for_inference 不融合 batchnorm 层?
- excel - 使用“Ctrl+P”或“文件 - 打印”时,在显示打印预览之前不会调用 Workbook.BeforePrint 事件 (Excel)
- javascript - 将日期对象打印到控制台
- python - Boost Python 暴露 C++ 类,构造函数采用 std::list
- kubernetes - 将 Kubernetes 服务帐号连接到 Google Cloud 服务帐号
- ramda.js - 只运行一次地图,ramda js
- php - 字符串变量比较与php中的值失败
- c# - 是否可以使用 OLEDB 从包含图像的 excel 文件中读取文本?
- ios - 改变闭包外的变量