如何从html标签中恢复Log4j输出

时间:2016-01-29 12:59:57

标签: log4j

我有log4j文件,但它使用像这样的html标签写入控制台。 是否有任何解决方案或其他产品可用于log4j输出的良好可读输出。

log4j设置就像;

<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{dd MMM yyyy HH:mm:ss} %-5p %c{2} - %m%n"/>
        </layout>       
    </appender>

我的输出就是那样

<tr>
<th>Time</th>
<th>Thread</th>
<th>Level</th>
<th>Category</th>
<th>Message</th>
</tr>
</table>
<br>
</body></html><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>HTML Layout Example</title>
<style type="text/css">
<!--
body, table {font-family: arial,sans-serif; font-size: x-small;}
th {background: #336699; color: #FFFFFF; text-align: left;}
-->
</style>
</head>
<body bgcolor="#FFFFFF" topmargin="6" leftmargin="6">
<hr size="1" noshade>
Log session start time Wed Jan 27 16:00:28 EET 2016<br>
<br>
<table cellspacing="0" cellpadding="4" border="1" bordercolor="#224466" width="100%">
<tr>
<th>Time</th>
<th>Thread</th>
<th>Level</th>
<th>Category</th>
<th>Message</th>
</tr>

1 个答案:

答案 0 :(得分:0)

上面的小XML片段不是你的log4j设置。如果是的话,你的输出会看起来很不一样。

这意味着您在类路径上有另外(或几个)log4j配置文件。

要找到它们,您可以使用调用getClass().getClassLoader().getResources("log4j.xml")的小型单元测试。这为您提供了可以迭代和打印的URL的枚举。 URL将告诉您所有包含log4j配置文件的JAR和项目。第一个将是log4j使用的那个。

使用-Dlog4j.debug=true运行您的应用程序也可以提供帮助。