【发布时间】:2014-09-21 19:13:17
【问题描述】:
我想按名称从我的 log4j.xml 中检索所有附加程序到我的 Java 类。没有附加所有附加程序的记录器,因为我无法更改 log4j.xml。有没有办法检索这些附加程序?一些附加程序未附加到任何记录器。搜索互联网似乎是不可能的。
【问题讨论】:
我想按名称从我的 log4j.xml 中检索所有附加程序到我的 Java 类。没有附加所有附加程序的记录器,因为我无法更改 log4j.xml。有没有办法检索这些附加程序?一些附加程序未附加到任何记录器。搜索互联网似乎是不可能的。
【问题讨论】:
不确定,但也许这段代码会对您有所帮助:
static Set<Appender> getAllAppenders() {
Set<Appender> allAppenders = new HashSet<>();
LoggerRepository repository = LogManager.getLoggerRepository();
Enumeration<Logger> loggers = repository.getCurrentLoggers();
while (loggers.hasMoreElements()) {
Logger logger = loggers.nextElement();
Enumeration<Appender> appenders = logger.getAllAppenders();
while (appenders.hasMoreElements()) {
allAppenders.add(appenders.nextElement());
}
}
return allAppenders;
}
【讨论】: