我想在启动时配置一个附加程序,然后根据需要动态地从各种记录器中添加和删除它。我宁愿让log4j自己配置此追加器,并在需要时获取对其的引用。如果那不可能,我将不得不自己实例化该追加程序并保留它。

最佳答案

通常将追加者添加到根记录器中。这是一些伪代码

// get the root logger and remove the appender we want
Logger logger = Logger.getRootLogger();
Appender appender = logger.getAppender("foo");
logger.removeAppender(appender)

// when we want to add it back...
logger.addAppender(appender);

我很确定您也可以在除根记录器之外的其他记录器上执行此操作,尽管我从未尝试过。

关于java - 如何在运行时访问已配置的Log4J附加程序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1909871/

10-11 12:36