不同的log4j布局调试和错误? [英] Different log4j layout for debug and error?
本文介绍了不同的log4j布局调试和错误?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在log4j中,有没有办法使logger.error()和logger.debug()包含不同的输出布局?
In log4j, is there a way to have logger.error("") and logger.debug("") include different output layouts?
我想要错误包括方法名称和行号,这两者都会降低应用程序性能。
I'd like errors to include method names and line numbers, both of which slow down application performance.
编辑:
添加apache-log4j-extras后,
After adding apache-log4j-extras, the following config file works.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" >
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="WARNINGS" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="warnings.log"/>
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MMM-dd HH:mm:ss} %-5p %c - %m%n%n"/>
</layout>
<filter class="org.apache.log4j.filter.LevelRangeFilter">
<param name="LevelMin" value="DEBUG"/>
<param name="LevelMax" value="WARN"/>
</filter>
</appender>
<appender name="ERRORS" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="errors.log"/>
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<layout class="org.apache.log4j.PatternLayout">
<!-- %M for method name , %L for line number -->
<param name="ConversionPattern" value="%d{yyyy-MMM-dd HH:mm:ss} %-5p %c %M %L - %m%n%n"/>
</layout>
<filter class="org.apache.log4j.filter.LevelRangeFilter">
<param name="LevelMin" value="ERROR"/>
<param name="LevelMax" value="FATAL"/>
</filter>
</appender>
<logger name="com.foo.bar">
<appender-ref ref="WARNINGS"/>
<appender-ref ref="ERRORS"/>
</logger>
</log4j:configuration>
此代码用于测试
// goes to errors.txt
log.error("error");
//goes to warnings.txt
log.warn("warn");
推荐答案
在log4j.xml配置中,追加者,每个使用 LevelMatchFilter 每个都有一个单独的模式输出。
Within your log4j.xml configuration, you can create two appenders, each using a LevelMatchFilter and each with a separate pattern output.
这篇关于不同的log4j布局调试和错误?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文