我正在使用 slf4j 来管理我的应用程序日志记录。
我想在配置log4j.properties后更改输出文件的名称。我的意思是,文件名是进入我的程序的一个参数,并且是可变的。我想从 java 更改此 slf4j 属性。
有谁知道可以吗?
提前致谢!
最佳答案
终于我解决了这个问题:
public void updateFichierLogNames(String warnFileName, String infoFileName, String errorFileName) {
Properties props = new Properties();
try {
InputStream configStream = getClass().getResourceAsStream( "/log4j.properties");
props.load(configStream);
configStream.close();
} catch (IOException e) {
System.out.println("Error: Cannot laod configuration file");
}
props.setProperty("log4j.appender.infoFile.File", infoFileName);
props.setProperty("log4j.appender.warnFile.File", warnFileName);
props.setProperty("log4j.appender.errorFile.File", errorFileName);
LogManager.resetConfiguration();
PropertyConfigurator.configure(props);
}
}
关于java - 在 SLF4j 中更改 Java 日志输出文件的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18693963/