如何从log4j堆栈跟踪中过滤某些行?

时间:2011-07-06 21:35:36

标签: log4j filtering

我想使用log4j过滤掉堆栈跟踪中的某些行(如net.sf.cglib.*org.springframework.*)。是否可以使用log4j

进行配置

在eclipse中,junit插件允许您添加修改junit选项卡中显示的堆栈跟踪的过滤器,但这不会更改输出到控制台的堆栈跟踪。

2 个答案:

答案 0 :(得分:2)

使用此过滤布局log4j附加组件: http://www.openmindlab.com/lab/tools/openutilslog4j/layout.html

他们在该页面上有一个log4j.xml示例。只需使用it.openutils.log4j.FilteredPatternLayout而不是log4j PatternLayout,然后输入一些条目,如

    <param name="Filter" value="net.sf.cglib"/>
    <param name="Filter" value="org.springframework"/>

下方。

答案 1 :(得分:1)

我刚刚发布了一个开源库,可以很好地过滤堆栈跟踪。以下是关于该库的简短文章的链接:http://www.coderanch.com/t/661077/blogs/Open-Source-Java-library-stacktrace#3068017 这里还有一个指向源代码的github链接:https://github.com/michaelgantman/Mgnt这里是Maven依赖项:

<dependency>
<groupId>com.github.michaelgantman</groupId>
<artifactId>MgntUtils</artifactId>
<version>1.04</version>
</dependency>
<dependency>
<groupId>com.github.michaelgantman</groupId>
<artifactId>MgntUtils</artifactId>
<version>1.04</version>
<classifier>javadoc</classifier>
</dependency>
<dependency>
<groupId>com.github.michaelgantman</groupId>
<artifactId>MgntUtils</artifactId>
<version>1.04</version>
<classifier>sources</classifier>
</dependency>