Cee*_*lus 2 java logging log4j apache-httpclient-4.x
我一直在尝试将 Wire 设置为不将 DEBUG 发送到控制台,但无论我做什么,它都不会听。
我已正确初始化 log4j:我没有收到任何 appender 消息,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
Run Code Online (Sandbox Code Playgroud)
然后我想为什么不在调用它后打印所有记录器?所以我就是这么做的。我得到了上面提到的所有内容以及我当前课程的精美打印输出。没有其他打印通过迭代LogManager.getCurrentLoggers()
我想此时我已经阅读了 Google 上的所有结果。任何指导将不胜感激。
关于项目: 项目是一个 maven 项目 - pom.xml 包括资源文件夹。为了完成这项工作,我从字面上创建了一个 ControlLogging 类并PropertyConfiguratior.configure("log4j.properties")首先被调用。我调用此函数@Before测试运行,并在进行 API 调用的静态类中。在任何时候进行打印都不会显示线记录器。
所以最终对我的项目sl4j有用的是为/ logback创建一个配置——我无法让它适用于 log4j 等。
所以下 main/java/resources/logback.xml
<xml version="1.0" encoding="UTF-8" ?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss} %thread %-5level %logger{36} %msg%n</pattern>
</encoder>
</appender>
<logger name="org.apache" level="ERROR"/>
<logger name="httpclient" level="ERROR"/>
<root level="DEBUG">
<appender-ref ref="STDOUT" />
</root>
</configuration>
Run Code Online (Sandbox Code Playgroud)
在 maven 中,我只是包含了 slf4j 的依赖项
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)
现在一切正常。
| 归档时间: |
|
| 查看次数: |
3958 次 |
| 最近记录: |