将服务器日志记录到一个文件和SQL日志到另一个文件 [英] Logging server logs to one file and SQL logs to another
问题描述
我想使用Log4J将所有与服务器相关的日志(如启动和关闭)记录到一个文件中,并将所有与Hibernate SQL相关的日志记录到不同的文件中。我试图过滤所有不相关的日志来查看SQL查询。任何想法或建议,如果有一种方式,我们可以实现它?
谢谢。
如果您使用两个不同的appender,则可以这样做,如以下配置文件(XML)所示: 1
<?xml version =1.0encoding =UTF-8?>
<!DOCTYPE log4j:configuration SYSTEMlog4j.dtd>
< log4j:configuration xmlns:log4j =http://jakarta.apache.org/log4j/>
<! - DEFAULT appender - >
< appender name =DEFAULTclass =org.apache.log4j.FileAppender>
< param name =filevalue =default.log/>
< layout class =org.apache.log4j.PatternLayout>
< param name =conversionPattern
value =%d {yyyyMMdd -HHmmss.SSS}%-5p(%c.java:%L)。%M - %m%n/ >
< / layout>
< / appender>
<! - HIBERNATE appender - >
< appender name =HIBERNATEclass =org.apache.log4j.FileAppender>
< param name =filevalue =hibernate.log/>
< layout class =org.apache.log4j.PatternLayout>
< param name =conversionPattern
value =%d {yyyyMMdd -HHmmss.SSS}%m%n/>
< / layout>
< / appender>
<! - - categories - >
< category name =org.hibernate.SQLadditivity =false>
< priority value =DEBUG/>
< appender-ref ref =HIBERNATE/>
< / category>
<! - root - >
< root>
< priority value =INFO/>
< appender-ref ref =DEFAULT/>
< / root>
< / log4j:配置>
使用类别( 备注 I want to log all server related logs (like startup and shutdown) to one file and all Hibernate SQL related logs to a different file using Log4J. I am trying to filter all irrelevant logs to see just the SQL queries. Any idea or suggestions if there is a way we can achieve it? Thanks. You can do that if you use two different appenders, as is shown in the following configuration file (XML): 1 Using categories ( Notes
这篇关于将服务器日志记录到一个文件和SQL日志到另一个文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋! category
),您可以轻松配置appender目标( appender-ref
),如果您想登录默认appender( additivity =false$ c $
log4j.xml
文件(默认包或资源
目录)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<!-- DEFAULT appender -->
<appender name="DEFAULT" class="org.apache.log4j.FileAppender">
<param name="file" value="default.log" />
<layout class="org.apache.log4j.PatternLayout">
<param name="conversionPattern"
value="%d{yyyyMMdd-HHmmss.SSS} %-5p (%c.java:%L).%M - %m%n" />
</layout>
</appender>
<!-- HIBERNATE appender -->
<appender name="HIBERNATE" class="org.apache.log4j.FileAppender">
<param name="file" value="hibernate.log" />
<layout class="org.apache.log4j.PatternLayout">
<param name="conversionPattern"
value="%d{yyyyMMdd-HHmmss.SSS} %m%n" />
</layout>
</appender>
<!-- categories -->
<category name="org.hibernate.SQL" additivity="false">
<priority value="DEBUG" />
<appender-ref ref="HIBERNATE" />
</category>
<!-- root -->
<root>
<priority value="INFO" />
<appender-ref ref="DEFAULT" />
</root>
</log4j:configuration>
category
), you can easily configure the appender destination (appender-ref
) and if you want to log in the default appenders (additivity="false"
).
log4j.xml
file automatically in the classpath of the application (the default package or resources
directory)