Reputation: 1199
How can i off the warn logs of a particular class(com.service.infra)
in my log4j.properties
.
log4j.rootLogger=DEBUG,QuietAppender,SilentAppender,LoudAppender
log4j.appender.QuietAppender=org.apache.log4j.RollingFileAppender
log4j.appender.QuietAppender.Threshold=WARN
log4j.appender.QuietAppender.File=/Log/front-log
log4j.appender.QuietAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.QuietAppender.layout.ConversionPattern= %m%n
log4j.appender.SilentAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.SilentAppender.Threshold=INFO
log4j.appender.SilentAppender.File=/par/info,infoLog
log4j.appender.SilentAppender.DatePattern='.'dd-MM-yy
log4j.appender.SilentAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.SilentAppender.layout.ConversionPattern=%d{dd/MM/yy kk:mm:ss.SSS} %-3p [%t] %x (%F:%L) - %m%n
Here, i want to turn off warn logs in my info log file /par/info,infoLog, But for warn log file it should be logged to a file /Log/front-log
Upvotes: 0
Views: 249
Reputation: 9935
You have to reference Log4j Log Level.
Here example for that. Warnning log of Class3
will be off because of Log Level is used ERROR
.
log4j.xml
<?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="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out"/>
<param name="Threshold" value="DEBUG"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c] %m%n"/>
</layout>
</appender>
<appender name="APPLICATION" class="org.apache.log4j.DailyRollingFileAppender">
<param name="file" value="/ACE-MRBS/application.log"/>
<param name="MaxBackupIndex" value="10"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss,SSS} |%5p| [%c] | %m%n"/>
</layout>
</appender>
<root>
<appender-ref ref="CONSOLE"/>
</root>
<logger name="your.app.test.Class1" additivity="false">
<level value="DEBUG"/>
<appender-ref ref="APPLICATION"/>
</logger>
<logger name="your.app.test.Class2" additivity="false">
<level value="WARN"/>
<appender-ref ref="APPLICATION"/>
</logger>
<logger name="your.app.test.Class3" additivity="false">
<level value="ERROR"/>
<appender-ref ref="APPLICATION"/>
</logger>
</log4j:configuration>
Upvotes: 0
Reputation: 1199
This is achieved by using the following code
log4j.rootLogger=DEBUG,LoudAppender
log4j.logger.com.service.infra.inf=INFO,SilentAppender
log4j.logger.com.service.infra._warn=WARN,QuietAppender
log4j.appender.QuietAppender=org.apache.log4j.RollingFileAppender
log4j.appender.QuietAppender.Threshold=WARN
log4j.appender.QuietAppender.File=/Log/front-log
log4j.appender.QuietAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.QuietAppender.layout.ConversionPattern= %m%n
log4j.appender.SilentAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.SilentAppender.Threshold=INFO
log4j.appender.SilentAppender.File=/par/info,infoLog
log4j.appender.SilentAppender.DatePattern='.'dd-MM-yy
log4j.appender.SilentAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.SilentAppender.layout.ConversionPattern=%d{dd/MM/yy kk:mm:ss.SSS} %-3p [%t] %x (%F:%L) - %m%n
log4j.appender.LoudAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.LoudAppender.File=/Log/debugLog
log4j.appender.LoudAppender.DatePattern='.'dd-MM-yy
log4j.appender.LoudAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.LoudAppender.layout.ConversionPattern=%d{dd/MM/yy kk:mm:ss.SSS} %-5p [%t] %x (%F:%L) - %m%n
Upvotes: 0
Reputation: 8467
In the configuration above.. set threshold=ERROR
, this will only limit the logging to ERROR level and wont include any levels below this in the log, i.e. WARN,DEBUG,INFO etc..
log4j.appender.QuietAppender.Threshold=WARN
Upvotes: 0
Reputation: 1900
set the level of the logger for your class:
log4j.logger.com.service.infra=ERROR,QuietAppender
this will log only ERROR and up for your class
Upvotes: 1