We have a Java application running on a CentOS server running JRE 6 which does some logging to System.out and to three log files (info, warning and errors). We have used log4j for months now and never had any issues. Today the application crashed for some unknown reason which we will look into, but upon starting the application again, log4j would not log to the files anymore. Instead, it is logging everything to System.out (thus we have every log message duplicated in the console window). At first we thought the log files were locked for some reason and deleted them, but the files were never recreated.
Note: restarting the machine is not currently an option.
This is part of our log4j.properties
file (omitted two similar parts which write to the two other log files)
# Define the root logger with appender file
log = logs
log4j.rootLogger = DEBUG, GENERAL, SUSPICIOUS, DANGEROUS
# Define the GENERAL appender
log4j.appender.GENERAL=org.apache.log4j.DailyRollingFileAppender
log4j.appender.GENERAL.Threshold=INFO
log4j.appender.GENERAL.filter.a=org.apache.log4j.varia.LevelMatchFilter
log4j.appender.GENERAL.filter.a.LevelToMatch=INFO
log4j.appender.GENERAL.filter.a.AcceptOnMatch=true
log4j.appender.GENERAL.filter.b=org.apache.log4j.varia.LevelMatchFilter
log4j.appender.GENERAL.filter.b.LevelToMatch=WARN
log4j.appender.GENERAL.filter.b.AcceptOnMatch=false
log4j.appender.GENERAL.filter.c=org.apache.log4j.varia.LevelMatchFilter
log4j.appender.GENERAL.filter.c.LevelToMatch=ERROR
log4j.appender.GENERAL.filter.c.AcceptOnMatch=false
log4j.appender.GENERAL.File=${log}/Info.log