如何在 Java 中为 HTTPBuilder 设置 logging.properties

How to set up logging.properties for HTTPBuilder in Java

我正在尝试获取我与 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

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

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

接下来,将 JConsole 附加到您的 运行 流程:

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

如果 none 有效,则

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

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