0

コードでいくつかのlogger.debug()ステートメントを記述しましたが、以下の fachene で 2 回出力されています。

2012-10-17 10:53:34,791, MessageListenerThreadPool : 0, [パッケージ名], method() を入力しました, ,2012-10-17 10:53:34,791 MessageListenerThreadPool : 0 DEBUG [パッケージ名] method() を入力しました

2回印刷される理由を教えてください。

以下は私のlog4j構成です。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
    <appender name="infoLogsFile" class="org.apache.log4j.FileAppender">
      <param name="File" value="Application.log"/>
       <param name="Threshold" value="DEBUG"/>
      <layout class="org.apache.log4j.PatternLayout">
         <!-- The default pattern: Date Priority [Category] Message\n -->
         <param name="ConversionPattern" value="%d %t %-5p [%c] %m%n"/>
      </layout>
   </appender>   

   <appender name="fatalLogsFile" class="org.apache.log4j.FileAppender">
         <param name="File" value="Application_Func_Point.log"/>
       <param name="Threshold" value="FATAL"/>
         <layout class="org.apache.log4j.PatternLayout">
             <param name="ConversionPattern" value="%d, %t, [%c], %m, %n,"/>
         </layout>
   </appender>


   <appender name="custom" class="org.apache.log4j.RollingFileAppender">
   <param name="File" value="Application.log"/>
   <param name="Append" value="true"/>
    <param name="Threshold" value="DEBUG"/>
   <param name="MaxFileSize" value="75000KB"/>
   <param name="maxBackupIndex" value="500"/>
   <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d, %t, [%c], %m, %n,"/>
   </layout>       
   </appender>
<logger name="com.unisys"> `
    <level value="debug" /> 
</logger>
   <!-- ======================= -->
   <!-- Setup the Root category -->
   <!-- ======================= -->
   <root> 
    <priority value ="debug" /> 
       <appender-ref ref="custom"/>
    <appender-ref ref="fatalLogsFile"/>
    <appender-ref ref="infoLogsFile"/>
   </root>
</log4j:configuration>

ありがとう

4

1 に答える 1

1

同じファイルを使用する 2 つのアペンダーがあります。「infoLogsFile」と「custom」はどちらも「Application.log」にリンクされており、両方のしきい値パラメーターの値は「DEBUG」です。つまり、DEBUG レベルでログに記録するものはすべて 2 回書き込まれます。

于 2012-10-23T13:26:58.900 に答える