【问题标题】:Turning off log messages in Java Logging Framwork在 Java Logging Framework 中关闭日志消息
【发布时间】:2014-12-05 08:57:37
【问题描述】:

我正在寻找一种在运行应用程序时关闭特定级别日志消息的方法。例如,如果将debug 参数传递给我的应用程序,则应显示带有Level.INFO 的日志消息,否则不应显示。但是,SEVERE 级别的日志消息仍应显示。有没有办法在不使用IF/ELSE 语句的情况下做到这一点?谢谢

我正在使用这样的 Java 日志框架:

logger.log(Level.INFO, "The piece is in the pending queue");

【问题讨论】:

    标签: java logging


    【解决方案1】:

    Click here查看配置日志。

    【讨论】:

      【解决方案2】:

      您通过java.util.logging.ConsoleHandler.level=<level> 设置日志级别,其中级别代表:

      • 严重(最高值)
      • 警告
      • 信息
      • 配置
      • 很好
      • 更精细
      • FINEST(最低值)

      您需要将级别视为堆栈:您定义您的立场,框架根据您选择的严重性写入日志。例如,如果您将级别设置为INFO,您将获得严重级别为SEVEREWARNINGINFO 的日志

      【讨论】:

        【解决方案3】:

        由于有一个名为 logger 的 Logger 对象,可以使用以下方法设置特定对象的级别:

        logger.setLevel(<level>)
        

        但是,如果您在一个项目中有多个记录器对象,并且您想为所有这些对象设置级别,您可以使用以下内容:

        Handler[] handlers
                    = Logger.getLogger("").getHandlers();
            for (int index = 0; index < handlers.length; index++) {
                handlers[index].setLevel(<level>);
            }
        

        这些是 Hichamov 所说的级别

        • 严重(最高值)
        • 警告
        • 信息
        • 配置
        • 很好
        • 更精细
        • FINEST(最低值)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2022-08-14
          • 2014-09-29
          • 2020-05-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-07-31
          相关资源
          最近更新 更多