Вы также можете сделать это из файла log4j.properties. Используя приведенный ниже пример файла, я добавил системное свойство $ {logfile.name} :
# logfile is set to be a RollingFileAppender
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=${logfile.name}
log4j.appender.logfile.MaxFileSize=10MB
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=[%-5p]%d{yyyyMMdd@HH\:mm\:ss,SSS}\:%c - %m%n
Имя файла журнала можно установить двумя разными способами:
- В командной строке системное свойство передается в java "-Dlogfile.name = {logfile}"
В java-программе напрямую, установив системное свойство (ДО того, как вы сделаете какие-либо вызовы log4j).
System.setProperty («logfile.name», «строка имени некоторого пути / файла журнала»);