Hi all,
I use log4j 2.21.1. This is my xml config file:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="debug">
<Appenders>
<File name="File" fileName="./../log/log-${sys:foo.test}.txt"
immediateFlush="true" append="false">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS}
%highlight{[%level]}{FATAL=bright_red bold, ERROR=red bold, WARN=yellow bold,
INFO=blue bold, DEBUG=green bold, TRACE=magenta bold} [%t] %logger{36} -
%msg%n" disableAnsi="false"/>
</File>
</Appenders>
<Loggers>
<Root level="debug">
<AppenderRef ref="File"/>
</Root>
</Loggers>
</Configuration>
This is a piece of my MainClass:
public final class MainClass {
static {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd
hhmmss");
System.setProperty("foo.test", dateFormat.format(new Date()));
}
.....
}
However, the generated log file is `log-${sys:foo.test}.txt`. I mean:
user@pc:~/Temp/log$ ls
'log-${sys:foo.test}.txt'
According to docs
https://logging.apache.org/log4j/2.x/manual/configuration.html#PropertySubstitution
my solution must work but it doesn't. Could anyone say how to fix it?
--
Best regards, Alex Orlov