[英]XML configuration for log4j in order to show line No. in HTMLLayout
我对log4j XML配置有疑问。 我想要一个HTMLLayout。 但是在生成的HTML文件中,没有“行号”类别。 但我想看看。 我搜索了,似乎要将LocationInfo设置为true。 但是我不知道如何修改我的XML。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" >
<log4j:configuration>
<appender name="log" class="org.apache.log4j.FileAppender">
<param name="File" value= "log4j.html"/>
<param name="Append" value= "false" />
<layout class="org.apache.log4j.HTMLLayout"/>
</appender>
<appender name="stdout" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%06r] [%F:%L] %-10c %x %m%n" />
</layout>
</appender>
<root>
<priority value="debug"/>
<appender-ref ref="log"/>
<!--appender-ref ref="stdout"/-->
</root>
</log4j:configuration>
在org.apache.log4j.HTMLLayout
的javadoc 1中指出:
LocationInfo选项采用布尔值。 默认情况下,它设置为false,这意味着此布局将不输出任何位置信息。 如果该选项设置为true,则将输出位于log语句起点的语句的文件名和行号。
因此,您只需要将其设置为true
。 因此,您的appender
的配置可能类似于:
<appender name="log" class="org.apache.log4j.FileAppender">
<param name="file" value="log4j.html"/>
<param name="threshold" value="debug"/>
<param name="immediateFlush" value="true"/>
<param name="append" value="false"/>
<layout class="org.apache.log4j.HTMLLayout">
<param name="Title" value="false"/>
<param name="LocationInfo" value="true"/>
</layout>
</appender>
笔记
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.