我想使用log4j过滤掉堆栈跟踪中的某些行(如net.sf.cglib.*
和org.springframework.*
)。是否可以使用log4j
?
在eclipse中,junit插件允许您添加修改junit选项卡中显示的堆栈跟踪的过滤器,但这不会更改输出到控制台的堆栈跟踪。
答案 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>