猿问

无法关闭HttpClient Wire调试日志消息

我一直试图将Wire设置为不将DEBUG发送到控制台,但是无论我做什么,它都不会监听。


我已经正确初始化了log4j:我没有收到任何附加程序消息,log4j遵循我的类和控制台级别。


在log4j.properties中,我有各种可预见的方式来编写线路:


    log4j.logger.org.httpclient=ERROR

    log4j.logger.org.apache=ERROR

    log4j.logger.org.apache.http=ERROR

    log4j.logger.org.apache.http.wire=ERROR

    log4j.logger.org.apache.http.wire.headers=ERROR

    log4j.logger.httpclient.wire=ERROR

    log4j.logger.httpclient.headers=ERROR

    log4j.logger.httpclient.content=ERROR

    log4j.logger.org.apache.hc.client5.http.wire=ERROR

    log4j.logger.httpclient=ERROR

    wire=ERROR

    http=ERROR

然后我想为什么在调用它后不打印所有记录器?所以我就是这样做的。我可以很好地打印出上面提到的所有内容以及当前的课程。遍历所有其他内容LogManager.getCurrentLoggers()


我认为目前我已经在Google上阅读了所有结果。任何指导将不胜感激。


关于项目:Project是一个Maven项目-pom.xml包含资源文件夹。为了完成这项工作,我从字面上构造了ControlLogging类,并PropertyConfiguratior.configure("log4j.properties")首先调用它。我将此功能称为@Before测试运行,并在进行API调用的静态类中进行测试。在任何时候进行打印都不会显示Wire logger。


浮云间
浏览 490回答 2
2回答

慕姐8265434

所以最终对我的项目sl4j有用的是为/ logback创建配置-我无法使其适用于log4j等。所以下 main/java/resources/logback.xml<xml version="1.0" encoding="UTF-8" ?>&nbsp; &nbsp; &nbsp;<configuration>&nbsp; &nbsp; &nbsp;<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">&nbsp; &nbsp; &nbsp;<encoder>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <pattern>%d{HH:mm:ss} %thread %-5level %logger{36} %msg%n</pattern>&nbsp; &nbsp; &nbsp;</encoder>&nbsp; &nbsp; &nbsp;</appender>&nbsp; &nbsp; &nbsp;<logger name="org.apache" level="ERROR"/>&nbsp; &nbsp; &nbsp;<logger name="httpclient" level="ERROR"/>&nbsp; &nbsp; &nbsp;<root level="DEBUG">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <appender-ref ref="STDOUT" />&nbsp; &nbsp; &nbsp;</root></configuration>在Maven中,我只是包括了slf4j的依赖项&nbsp;<dependency>&nbsp; &nbsp; &nbsp;<groupId>org.slf4j</groupId>&nbsp; &nbsp; &nbsp;<artifactId>slf4j-api</artifactId>&nbsp;</dependency>&nbsp;<dependency>&nbsp; &nbsp; &nbsp; <groupId>org.slf4j</groupId>&nbsp; &nbsp; &nbsp; <artifactId>jcl-over-slf4j</artifactId>&nbsp;</dependency>现在一切正常。
随时随地看视频慕课网APP

相关分类

Java
我要回答