在运行时创建log4j日志文件名

时间:2011-01-27 14:58:52

标签: logging log4j

我正在开发一个导入过程的模块,可以通过用户点击schdular等以各种方式触发它,它将与验证的阶段一致,如果验证成功而不是最终导入。 为了向用户显示验证错误,我们要使用日志文件,这样如果验证失败,我们将只选择日志文件并在窗口中显示。 到目前为止一切都很好,但现在我需要为每个导入工作创建一个日志文件 当作业开始获取时间戳并根据时间戳命名日志文件时,同样需要为每个作业存储该作业的日志文件名,以便以后可以选择相同的日志文件进行显示。

我在SO上经历了各种各样的问题 Link to similar question 但似乎要求完全不同。 我所知道的一种方法是获取所有appender的列表,并且den会覆盖代码中文件的名称 但由于我们在网络应用程序中,我不确定线程​​安全性和任何其他潜在问题

有人可以建议我如何为每个导入流程实例创建一个单独的日志文件。

提前致谢

1 个答案:

答案 0 :(得分:0)

可以通过像

这样的代码实现所需的功能
SimpleLayout layout = new SimpleLayout();   
FileAppender appender = new FileAppender(layout,"your filename",false);   
logger.addAppender(appender);