【发布时间】:2014-02-13 17:00:31
【问题描述】:
我有一个文件传输应用程序,它需要将特定事件写入特定日志文件,而所有事件都转到 commong 日志文件。例如:
File comes in from source A, events get written to file.log
File comes in from source B, events get written to file.log and B_file.log
File comes in from source C, events get written to file.log
...
我正在考虑在我的 log4j 配置中创建一个“BLog”附加程序,并在我的应用程序组中将我的所有源 B 文件/目录放入一个配置中并为其分配“BLog”,并在每次传输时检查代码如果配置有附加程序,则获取文件,如果有,请获取并调用 doAppend。
但是,如果我将 appender 添加到 log4j 配置中,它不会接收所有事件吗?我可以在不将其分配给配置中的 root 的情况下创建附加程序,但仍以编程方式获取它吗?如果是这样,这是否意味着每次我想向 B_file.log 发送事件时,我都必须获取 appender,将其添加到 root,调用 doAppend,然后删除 appender?
有没有更简洁的方法来做到这一点?
提前致谢!
【问题讨论】: