【问题标题】:Log4j 2. How get log4j's debug messages?Log4j 2. 如何获取 log4j 的调试信息?
【发布时间】:2013-11-03 15:51:54
【问题描述】:

据我了解,log4j 可以处理系统属性-Dlog4j.debug。如果您使用它运行您的应用程序,您将获得 log4j 的调试输出。

示例:java -Dlog4j.debug -jar test.jar

log4j 2 有类似的东西吗?

【问题讨论】:

  • java -Dlog4j2.debug -jar test.jar

标签: java logging log4j log4j2


【解决方案1】:

如果有人需要以编程方式设置DEBUG 级别

// for your custom logger
Configurator.setLevel("com.name.of.logger", Level.DEBUG);
// for root logger
Configurator.setRootLevel(Level.DEBUG);

OR 没有导入

org.apache.logging.log4j.core.config.Configurator.setLevel(
    "com.name.of.logger", 
    org.apache.logging.log4j.Level.DEBUG
);

【讨论】:

    【解决方案2】:

    2018 年 1 月更新:

    从 Log4j 2.10 开始,这很容易:只需使用系统属性 log4j2.debug 运行您的程序(不需要值;空字符串即可)。


    关于状态记录器的当前 (log4j-2.1) 文档有点混乱。 基本上:

    • 在找到配置之前,可以使用系统属性org.apache.logging.log4j.simplelog.StatusLogger.level 控制状态记录器级别。
    • 找到配置后,可以在配置文件中通过“status”属性控制状态记录器级别,例如:<Configuration status="trace">

    更新:documentation 在 log4j-2.2 中得到了改进。

    【讨论】:

      【解决方案3】:

      这可能会造成混淆,Log4J 1.x 命令行参数-Dlog4j.debug 的最接近等价物是-Dorg.apache.logging.log4j.simplelog.StatusLogger.level=trace,它将 Log4J 2.x “状态记录器”级别设置为跟踪并提供有关日志记录配置的详细输出。

      Log4J 1.x 允许您在命令行上使用-Dlog4j.configuration=file:///var/lib/tomcat7/log4j.xml 手动指定配置文件的位置,其中配置文件位于/var/lib/tomcat7/log4j.xml。在 Log4J 2.x 中,参数 -Dlog4j.configurationFile=file:///var/lib/tomcat7/log4j.xml 'configurationFile' 与 'configuration' 存在细微差别。

      显然你需要确保你的配置文件适合正在使用的 Log4J 的版本,XML 结构在 1.x 和 2.x 之间是不同的。

      【讨论】:

        【解决方案4】:

        我在启动和运行 Log4J2 时遇到了令人沮丧的困难,打印 StatusLogger 也不例外。理论上,您可以在配置文件中使用status 字段对其进行设置,但是到目前为止我还无法做到这一点。

        但是,您可以在 main 方法的开头运行以下命令:

        StatusConsoleListener listener = new StatusConsoleListener(Level.ALL);
        StatusLogger.getLogger().registerListener(listener);
        LogManager.getLogger(LogManager.ROOT_LOGGER_NAME); // initialize logger
        

        请注意,您的 main() 类不能有任何静态 Logger,否则它们将在调用之前被初始化,这意味着加载状态消息不会打印。

        【讨论】:

          猜你喜欢
          • 2015-02-07
          • 2021-12-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-11-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多