如何在java中为httpbuilder设置logging.properties

hrirmatl  于 2021-07-09  发布在  Java
关注(0)|答案(2)|浏览(343)

我正在尝试获取与HTTPBuilder连接的日志。我读了很多书,听说要建立一个配置文件。我正在用这个命令从终端执行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

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

sxissh06

sxissh061#

您正在使用相对路径加载 logging.properties . 将其更改为绝对路径,然后重试。
接下来,将jconsole附加到正在运行的进程:
转到mbeans选项卡。
展开节点 java.util.logging->Logging->Attributes->Operations .
选择 getLoggerLevel 清除 p0 现场。这是根记录器。
单击 getLoggerLevel 按钮并查看级别是否与您在 logging.properties 文件。
java.util.logging->Logging->Attributes->LoggerNames 双击 java.lang.String[] 值列中的单元格。如果你的孩子的名字 logging.properties 那么这些值在你的 logging.properties 你什么都没做。更正`logging.properties中的子记录器名称。
如果这些都不起作用,那么打印日志树。

ki0zmccv

ki0zmccv2#

我找到了一个很好很简单的解决办法。只需在调用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)

相关问题