I want to get the path to the log4j log file from another properties
file. So, if I have this:
config.properties:
# Path to logs
logPath=/home/flow/logs/projectName.log
I want to get that path and change the value of log4j.appender.LOGFILE.File=axis2.log
inside log4j.properties
.
How can I accomplish this?
EDIT: My log4j.properties file:
# Set root category priority to INFO and its only appender to CONSOLE.
#log4j.rootCategory=INFO, CONSOLE
log4j.rootCategory=INFO, CONSOLE, LOGFILE
# Set the enterprise logger priority to FATAL
log4j.logger.org.apache.axis2.enterprise=FATAL
log4j.logger.de.hunsicker.jalopy.io=FATAL
log4j.logger.httpclient.wire.header=FATAL
log4j.logger.org.apache.commons.httpclient=FATAL
# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=[%p] %m%n
# LOGFILE is set to be a File appender using a HTML Layout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=axis2.log
log4j.appender.LOGFILE.Append=true
#log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
#log4j.appender.LOGFILE.layout.ConversionPattern=%d [%t] %-5p %c %x - %m%n
log4j.appender.LOGFILE.layout=org.apache.log4j.HTMLLayout
log4j.appender.LOGFILE.layout.Title=NPC Simulator Log
Update (this way didn't work):
public class Foo
{
public void test() {
System.setProperty("my.log", ConfigHandle.getProperty("logPath");
Logger log = Logger.getLogger(MyClass.class.getName());
log.info("Testing...");
}
}
config.properties
# log4j.properties
logPath=/home/flow/logs
log4j.properties
...
log4j.appender.LOGFILE.File=${my.log}/axis2.log
...