2011-01-28 29 views
10

HI,如何在的log4j.xml

在我們的web應用程序將打印所有的日誌都印像Spring和JSF罐子文件中設置過濾器。我們不需要這些。我如何在log4j.xml文件中設置僅爲我們的應用程序進行過濾?

更新

以下是我們使用的日誌記錄配置。你能告訴我這是否正確嗎?我必須在文件中添加記錄器元素?

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 
<!-- Log4j Configuration file to log the messages into different logfiles --> 
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> 

    <appender name="DEBUG" class="org.apache.log4j.RollingFileAppender"> 
    <param name="File" value="D:/logs/DEBUGFILE.log"/> 
    <param name="Append" value="true"/> 
    <param name="MaxFileSize" value="500KB"/> 
    <param name="MaxBackupIndex" value="2"/> 
    <layout class="org.apache.log4j.PatternLayout"> 
     <param name="ConversionPattern" value="%d [%t] %p - %m%n"/> 
    </layout> 
    <filter class="org.apache.log4j.varia.LevelRangeFilter"> 
    <param name="LevelMin" value="DEBUG" /> 
     <param name="LevelMax" value="DEBUG" /> 
    </filter> 
    </appender> 

    <appender name="INFO" class="org.apache.log4j.RollingFileAppender"> 
    <param name="File" value="D:/logs/AUDIT_TRAIL.log"/> 
    <param name="Append" value="true"/> 
    <param name="MaxFileSize" value="500KB"/> 
    <param name="MaxBackupIndex" value="2"/> 
    <layout class="org.apache.log4j.PatternLayout"> 
     <param name="ConversionPattern" value="%d [%t] %p - %m%n"/> 
    </layout> 
    <filter class="org.apache.log4j.varia.LevelRangeFilter"> 
     <param name="LevelMin" value="INFO" /> 
     <param name="LevelMax" value="INFO" /> 
    </filter> 
    </appender> 

    <appender name="ERROR" class="org.apache.log4j.RollingFileAppender"> 
    <param name="File" value="D:/logs/ERRORFILE.log"/> 
    <param name="Append" value="true"/> 
    <param name="MaxFileSize" value="500KB"/> 
    <param name="MaxBackupIndex" value="2"/> 
    <layout class="org.apache.log4j.PatternLayout"> 
     <param name="ConversionPattern" value="%d [%t] %p - %m%n"/> 
    </layout> 
    <filter class="org.apache.log4j.varia.LevelRangeFilter"> 
     <param name="LevelMin" value="ERROR" /> 
     <param name="LevelMax" value="ERROR" /> 
    </filter> 
    </appender> 

    <appender name="FATEL" class="org.apache.log4j.RollingFileAppender"> 
    <param name="File" value="D:/logs/FATELFILE.log"/> 
    <param name="Append" value="true"/> 
    <param name="MaxFileSize" value="500KB"/> 
    <param name="MaxBackupIndex" value="2"/> 
    <layout class="org.apache.log4j.PatternLayout"> 
     <param name="ConversionPattern" value="%d [%t] %p - %m%n"/> 
    </layout> 
    <filter class="org.apache.log4j.varia.LevelRangeFilter"> 
     <param name="LevelMin" value="FATAL" /> 
     <param name="LevelMax" value="FATAL" /> 
    </filter> 
    </appender> 

    <root> 
    <priority value="debug"/> 
     <appender-ref ref="DEBUG"/> 
    <appender-ref ref="INFO"/> 
    <appender-ref ref="ERROR"/> 
    <appender-ref ref="FATEL"/> 
    </root> 

</log4j:configuration> 
+0

就在根標籤之前。用我們的代碼更新了 – 2011-01-28 09:23:30

回答

4

日誌只能預警春:

<logger name="org.springframework"> 
    <level value="warn"/> 
    <appender-ref ref="socket"/> 
    <appender-ref ref="stdout"/> 
</logger> 

同樣爲與JSF jsf包名... javax.faces,org.apache.myfaces,com.sun.faces等...此外,appender-ref是指你的appender ...

1

您需要爲您的應用程序定義自己的記錄器和appender。 例如,如果您需要在com.xyz.http.RequestFilter記錄的跟蹤消息:

log4j.com.xyz.http.RequestFilter=TRACE, TRACE_APPEND 

log4j.appender.TRACE_APPEND=org.apache.log4j.RollingFileAppender 
log4j.appender.TRACE_APPEND.File=example.log 

log4j.appender.TRACE_APPEND.MaxFileSize=100KB 
log4j.appender.TRACE_APPEND.MaxBackupIndex=1 

log4j.appender.TRACE_APPEND.layout=org.apache.log4j.PatternLayout 
log4j.appender.TRACE_APPEND.layout.ConversionPattern=%p %t %c - %m%n 

多見於log4j的官方手冊http://logging.apache.org/log4j/1.2/manual.html

+0

。請建議我。 – Krishna 2011-01-28 08:39:27

+0

不再鼓勵使用屬性文件。我們的代碼更新了 – Krishna 2011-01-28 08:54:57