Если вы хотите установить каталог с именем определенного пользователя неизвестным до времени выполнения, вы можете решить его, передав аргумент в файл свойств log4j во время выполнения.
Передайте аргумент в файл log4j
[Пример кода]
import org.apache.log4j.PropertyConfigurator;
import org.apache.log4j.Logger;
public class MyClass
{
public static Logger mLogger = Logger.getLogger(MyClass.class.getName());
public static void main(String[] args)
{
System.setProperty("test", "hello");
PropertyConfigurator.configure("./log4j.properties");
mLogger.debug("Hello world!");
// modify variable and re-configure
System.setProperty("test", "bye");
PropertyConfigurator.configure("./log4j.properties");
mLogger.debug("byebye");
}
}
[log4j.properties]
# Root logger option
log4j.rootLogger=DEBUG, file
# Redirect log messages to a log file, support file rolling.
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=./${test}.log
log4j.appender.file.MaxFileSize=5MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n