在其他 .log 文件/Wildfly 11 中记录 org.hibernate.SQL
Log org.hibernate.SQL in other .log file / Wildfly 11
我在子系统中有这个 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 查询),但我只想打印 org.hibernate.SQL在 CMP.log 文件中。
如何从 server.log 中排除 org.hibernate.SQL 写入并仅在 CMP.log 文件中打印?
您需要在 org.hibernate.SQL
记录器上将 use-parent-handlers
设置为 false
。使用 CLI,您可以执行以下操作:
/subsystem=logging/logger=org.hibernate.SQL:write-attribute(name=use-parent-handlers, value=false)
我在子系统中有这个 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 查询),但我只想打印 org.hibernate.SQL在 CMP.log 文件中。
如何从 server.log 中排除 org.hibernate.SQL 写入并仅在 CMP.log 文件中打印?
您需要在 org.hibernate.SQL
记录器上将 use-parent-handlers
设置为 false
。使用 CLI,您可以执行以下操作:
/subsystem=logging/logger=org.hibernate.SQL:write-attribute(name=use-parent-handlers, value=false)