【问题标题】:How to set up logging.properties for HTTPBuilder in Java如何在 Java 中为 HTTPBuilder 设置 logging.properties
【发布时间】:2017-07-14 11:59:53
【问题描述】:

我正在尝试获取与 HTTP Builder 的连接日志。 我读了很多,听说要设置一个配置文件。 我正在使用此命令从终端执行我的 jar

java -jar -Djava.util.logging.config.file=logging.properties Console-0.1.jar

我的 logging.properties 看起来像这样

handlers=java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level=ALL
.level=FINEST
httpclient.wire.header.level=FINEST
org.apache.commons.httpclient.level=FINEST

我不明白为什么它不起作用。 有人有想法吗?

【问题讨论】:

    标签: java groovy java.util.logging apache-commons-logging httpbuilder


    【解决方案1】:

    您正在使用相对路径来加载logging.properties。将其更改为绝对路径,然后重试。

    接下来,将JConsole 附加到您正在运行的进程中:

    1. 转到 MBean 选项卡。
    2. 扩展节点java.util.logging->Logging->Attributes->Operations
    3. 选择getLoggerLevel并清除p0字段的值。这是根记录器。
    4. 单击getLoggerLevel 按钮,查看级别是否与您在logging.properties 文件中输入的内容相匹配。
    5. 转到java.util.logging->Logging->Attributes->LoggerNames
    6. 双击值列中的java.lang.String[] 单元格。如果您的 logging.properties 中的子记录器名称不存在,那么您的 logging.properties 中的这些值不会做任何事情。更正 `logging.properties 中的子记录器名称。

    如果这些都不起作用,那么print your log tree

    【讨论】:

      【解决方案2】:

      我找到了一个很好且非常简单的解决方案。 只需在调用 http 构建器之前获取根 Logger 并设置级别

          ch.qos.logback.classic.Logger rootLogger = (ch.qos.logback.classic.Logger)LoggerFactory.getLogger(ch.qos.logback.classic.Logger.ROOT_LOGGER_NAME)
          rootLogger.setLevel(level)
      

      【讨论】:

        猜你喜欢
        • 2015-11-10
        • 2016-07-03
        • 2016-06-08
        • 1970-01-01
        • 1970-01-01
        • 2016-01-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多