私はlogback使用している、と私は(Setting Logback Appender path programmaticallyに似ている)私のJavaプログラム内で、プログラムでログファイル名を設定しようとしていますし、次のように私は、そのソリューションを適応させることを試みた:Logback - セットのログファイル名、プログラム
私のJavaプログラムで再び
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>log/${log_file_name}.log</file>
...
そして:logback-のtest.xmlで
結果は2つのログであるしかし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);
、1つ、例えば、「131904フルと私が望んでいたとして命名1145343.log "であり、もう1つは空で、" log_file_name_IS_UNDEFINED.log "という名前です。この空のログファイルが作成されないようにするにはどうすればよいですか?
あなたのコードの唯一の問題は、あなたが 'System.setProperty(" log_file_name "、logFileName);を設定しているようです。 Logback autoconfigが実行され、必要なものがある前に実行してください。 – Robert
実際にコードスニペットよりもはるかに簡単に行うことができます:http://stackoverflow.com/a/21886071/709537 –