0

以下に示すように、log4jConfig.xmlがあります

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="false" xmlns:log4j='http://jakarta.apache.org/log4j/'>

    <appender name="abcLog4j" class="org.apache.log4j.RollingFileAppender">
        <param name="File" value="/myapp/app/myserver/myproj/domains/logs/abcLog.log"/>
        <param name="Append" value="true"/>
        <param name="MaxFileSize" value="5000KB"/>
        <param name="MaxBackupIndex" value="5"/>
        <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
        </layout>
      </appender>

    <logger name="com.mywhole.mysub.abc" additivity="false">
         <level value="INFO"/>
         <appender-ref ref="abcLog4j"/>
    </logger>

    <appender name="xyzLog4j" class="org.apache.log4j.RollingFileAppender">
        <param name="File" value="/myapp/app/myserver/myproj/domains/logs/xyzLog.log"/>
        <param name="Append" value="true"/>
        <param name="MaxFileSize" value="5000KB"/>
        <param name="MaxBackupIndex" value="5"/>
        <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
        </layout>
      </appender>

    <logger name="com.mywhole.mysub.xyz" additivity="false">
         <level value="INFO"/>
         <appender-ref ref="xyzLog4j"/>
    </logger>

      <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">    
        <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
        </layout>   
     </appender>

    .......................

    <root>
        <priority value="ERROR"/>
        <appender-ref ref="sysoutLog4j"/>       
    </root>

   </log4j:configuration>

私が直面している問題は、com.mywhole.mysub.xyz のクラスから生成されたログ ステートメントが abcLog.log に、またはその逆になることです。誰でもこの問題を解決する方法を説明できますか

package com.mywhole.mysub.xyz.model;
// import ....
public class MyBeackingBean extends MySuperBB{
    public static final LoggerInterface log = LoggerFactory
            .getLogger(MyBeackingBean.class);
4

2 に答える 2

0

構成は正しいように見えますが、コードのコピー アンド ペースト エラーのようです。LoggerFactoryであるorg.slf4j.LoggerFactoryと仮定して、 でLoggerInterfaceあるorg.slf4j.Loggerかどうかを確認してMyBeanClass.classください

package com.mywhole.mysub.xyz;
// ...
LoggerFactory.getLogger(MyBeanClass.class);

ありませんcom.mywhole.mysub.abc.MyBeanClass

于 2013-02-06T11:23:12.860 に答える
0

xml formatlog4jのは、このパターンに従う必要があります

<!ELEMENT log4j:configuration (renderer*, appender*,(category|logger)*,root?, categoryFactory?)>   

すべてのアペンダーはdeclared beforeロガーでなければなりません

したがってlog4j.xml、次のようになります

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="false" xmlns:log4j='http://jakarta.apache.org/log4j/'>

<appender name="abcLog4j" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="/myapp/app/myserver/myproj/domains/logs/abcLog.log"/>
    <param name="Append" value="true"/>
    <param name="MaxFileSize" value="5000KB"/>
    <param name="MaxBackupIndex" value="5"/>
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
    </layout>
  </appender>

  <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">    
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
    </layout>   
 </appender>

<appender name="xyzLog4j" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="/myapp/app/myserver/myproj/domains/logs/xyzLog.log"/>
    <param name="Append" value="true"/>
    <param name="MaxFileSize" value="5000KB"/>
    <param name="MaxBackupIndex" value="5"/>
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
    </layout>
  </appender>

<logger name="com.mywhole.mysub.xyz" additivity="false">
     <level value="INFO"/>
     <appender-ref ref="xyzLog4j"/>
</logger>

<logger name="com.mywhole.mysub.abc" additivity="false">
     <level value="INFO"/>
     <appender-ref ref="abcLog4j"/>
</logger>


.......................

<root>
    <priority value="ERROR"/>
    <appender-ref ref="sysoutLog4j"/>       
</root>

詳細については、このリンクを確認してください

于 2013-02-06T11:56:05.150 に答える