Hi all!
Could anybody give me a hint how I can set file name for log4j dynamically.
I have a log4j.properties file:
log4j.rootCategory=debug, stdout, R
#### First appender writes to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %-6p [%c{1}] %m%n
#### Second appender writes to a file
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.DatePattern='.'yyyy-MM-dd
log4j.appender.R.File=Myfilename.log
log4j.appender.R.MaxFileSize=10000KB
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{ABSOLUTE} %-6p [%c{1}] %m%n
and following code in my class:
Logger LOGGER = Logger.getLogger(MyClass.class);
File logFile = new File("newFilename.log");
logFile.createNewFile();
FileAppender r = (FileAppender)LOGGER.getAppender("R");
r.setFile(logFile.getAbsolutePath());
r.activateOptions();
Unfortunately it does not work as r is NULL.
It throws java.lang.NullPointerException.
Could anybody help me?