0

log4j XML 構成について質問があります。HTMLLayoutが欲しいです。しかし、生成された HTML ファイルには Line No. カテゴリがありません。でも見たい。検索したところ、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>
4

1 に答える 1

0

状態のjavadoc 1で: org.apache.log4j.HTMLLayout

LocationInfoオプションはブール値を取ります。デフォルトでは false に設定されています。これは、このレイアウトによって位置情報が出力されないことを意味します。このオプションが true に設定されている場合、ログ ステートメントの起点にあるステートメントのファイル名と行番号が出力されます。

したがって、に設定するだけです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>

ノート

  1. https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/HTMLLayout.html
于 2014-11-21T17:16:07.483 に答える