java - 如何从 log4j2 root logger 获取所有 apender

标签 java logging log4j append log4j2

在log4j 1.2中,我们可以通过以下方式获取root logger的所有appender。

Enumeration<Appender> it = Logger.getRootLogger().getAllAppenders();

在 log4j2 中是否有类似的东西来获取根记录器及其 append 程序?

最佳答案

您可以从LoggerConfig获取所有appender

    org.apache.logging.log4j.core.LoggerContext logContext = (org.apache.logging.log4j.core.LoggerContext) LogManager
            .getContext(false);

    Map<String, LoggerConfig> map = logContext.getConfiguration().getLoggers();

    for(LoggerConfig c:map.values()){
        System.out.println(c.getAppenders());
    }

关于java - 如何从 log4j2 root logger 获取所有 apender,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30431224/

相关文章:

java - Firestore set() 方法不会将文档插入集合中,除非调用 ApiFuture<WriteResult> 的 get() 方法

ruby-on-rails - 如何获取触发查询的代码行?

tomcat - Tomcat7部署WAR报 "Error listenerStart"错误如何诊断?

java - log4j:每个 Appender 的属性列表?

scala - 如何将Apache Spark日志从驱动程序和从属服务器重定向到使用log4j启动Spark作业的计算机的控制台?

java - 带有 MemoryMappedFile 和中断文件的 Log4j2

带空格的 Java 正则表达式

java - 更新嵌套的 JsonNode 中的值

java - Cassandra - 无法删除节点

Python UnitTest - 如何在无需手动编写的情况下访问子测试消息?