如何从 html 标签重新设置 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>

上面的小XML片段不是你的log4j设置。如果是这样,您的输出看起来会大不相同。

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

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

使用 -Dlog4j.debug=true 运行应用程序也会有所帮助。

最新更新