Logback - программная установка имени файла журнала.

Я использую логбэк и пытаюсь программно установить имя файла журнала в моей программе на Java (аналогично Установка пути к приложению логбэка программно ), и я попытался адаптировать это решение следующим образом:

В logback-test.xml:


  log/${log_file_name}.log
  ...

И снова в моей программе на Java:

String logFileName = "" + System.currentTimeMillis(); // just for example
System.setProperty("log_file_name", logFileName);

LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
ContextInitializer ci = new ContextInitializer(lc);
lc.reset();
try
{
    // I prefer autoConfig() over JoranConfigurator.doConfigure() so I
    // wouldn't need to find the file myself.
    ci.autoConfig();
}
catch (JoranException e)
{
    // StatusPrinter will try to log this
    e.printStackTrace();
}
StatusPrinter.printInCaseOfErrorsOrWarnings(lc);

Однако результат - два журнала, один полный и назван так, как я хотел, например, «1319041145343.log», а другой пустой и называется «имя_файла_журнала_IS_UNDEFINED.log». Как мне остановить создание этого другого пустого файла журнала?

31
задан Cœur 4 April 2017 в 12:24
поделиться