How to set a filter in log4j.xml

Hi

In our web application, it prints all the logs printed as Spring and JSF files. What is not required for us. How to install the log4j.xml file for filtering only for our application?

Update

The following is the configuration we use for logging. Could you tell me if this is correct? Where should I add a log item to a file?

<?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> 
+10
logging log4j java.util.logging
Jan 28 '11 at 5:13
source share
2 answers

Warning for Spring Log only:

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

Same for JSF with package name jsf ... javax.faces , org.apache.myfaces , com.sun.faces etc. In addition, appender-ref refers to your applications ...

+4
Jan 28 '11 at 5:21
source share

You need to define your own registrar and application for your application. For example, if you need to write a trace message to 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 

For more information, see the official log4j manual http://logging.apache.org/log4j/1.2/manual.html

+1
Jan 28 '11 at 5:19
source share



All Articles