Does anyone see why this log is not writing to file. It is writing to standard out twice but not to the file:
Also, I tried removing the "Stdout" appender and then I don't get any logging at all.
package org.berlin.wicket;
import org.apache.log4j.Logger;
private static final Logger LOG = Logger.getLogger(QuickstartPage.class);
LOG.info("Loading constructor");
log4j.rootLogger=DEBUG,Stdout,mainAppender
log4j.appender.Stdout=org.apache.log4j.ConsoleAppender log4j.appender.Stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.Stdout.layout.conversionPattern=%-5p - %-26.26c{1} - %m\n
log4j.appender.mainAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.mainAppender.file=logs/core.log
log4j.appender.mainAppender.datePattern='.'yyyy-MM-dd
log4j.appender.mainAppender.append=true
log4j.appender.mainAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.mainAppender.layout.ConversionPattern=[%d{MM/dd/yyyy HH:mm:ss.SSS}] [%C{1}.%M():%L] [%t] [%p] - %m%n
log4j.logger.org.berlin=DEBUG,Stdout,mainAppender
You should create an instance of FileHandler that writes log to a file called myfile.log.
The
File
andAppend
properties are case senstive.log4j.appender.mainAppender.File=someFileName.log log4j.appender.mainAppender.Append=true
You have two loggers which use the same appender (Stdout), hence why you see entries on the console twice.
As others have mentioned, the properties are case-sensitive, hence why your file appender is not configured correctly.