Logging a specific level (FATAL) in another file named as the current date using log4j

I want to log only the FATAL level in another log file with the current date as its name. i tried as below

# Console appender configuration
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%-5p: %c - %m%n
log4j.appender.stdout.filter.b=org.apache.log4j.varia.LevelMatchFilter
log4j.appender.stdout.filter.b.LevelToMatch=FATAL    
log4j.appender.stdout.filter.b.AcceptOnMatch=false

#File appender configuration
log4j.appender.fileout = org.apache.log4j.FileAppender
log4j.appender.fileout.File = F:/Logs/log1.log
log4j.appender.fileout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c - %m%n
log4j.appender.fileout.layout = org.apache.log4j.PatternLayout
log4j.appender.fileout.ImmediateFlush=true
log4j.appender.fileout.Threshold=FATAL
log4j.appender.fileout.Append=true
log4j.appender.fileout.filter.a=org.apache.log4j.varia.LevelMatchFilter
log4j.appender.fileout.filter.a.LevelToMatch=FATAL    
log4j.appender.fileout.filter.a.AcceptOnMatch=true 

      

with this I can print to another file but cannot change the name dynamically as the current date .. suggest a solution

I am using log4j 1.2.13

+3


source to share


1 answer


Now with the following configuration, I can only print FATAL logs in another log file with current date as name

log4j.rootLogger=INFO, stdout, rollingAppender
# Console appender configuration
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%-5p: %c - %m%n
log4j.appender.stdout.filter.b=org.apache.log4j.varia.LevelMatchFilter
log4j.appender.stdout.filter.b.LevelToMatch=FATAL    
log4j.appender.stdout.filter.b.AcceptOnMatch=false

#File appender configuration
log4j.appender.rollingAppender=org.apache.log4j.rolling.RollingFileAppender
log4j.appender.rollingAppender.rollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy
log4j.appender.rollingAppender.rollingPolicy.fileNamePattern=F:/temp/app%d{yyyy-MM-dd}.log
log4j.appender.rollingAppender.layout.ConversionPattern= %d %c %M - %m%n
log4j.appender.rollingAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.rollingAppender.ImmediateFlush=true
log4j.appender.rollingAppender.Threshold=FATAL
log4j.appender.rollingAppender.Append=true
log4j.appender.rollingAppender.filter.a=org.apache.log4j.varia.LevelMatchFilter
log4j.appender.rollingAppender.filter.a.LevelToMatch=FATAL    
log4j.appender.rollingAppender.filter.a.AcceptOnMatch=true

      



we have to add (apache-log4j-extras-1.2.17.jar)

+1


source







All Articles