我正在接受这种高度冗长的日志记录,我想摆脱它。
1:39:20.187 [main] INFO c.v.c.c.ConfigManager - End XML Read
11:39:20.187 [main] INFO c.v.c.c.ConfigManager - The content of ConfigCfg_pdMetering.xml is ConfigCfg [xxx=yyy]
11:39:37.335 [Thread-1] DEBUG o.a.h.c.p.RequestProxyAuthentication - Proxy auth state: UNCHALLENGED
11:39:37.335 [Thread-1] DEBUG o.a.h.i.c.DefaultHttpClient - Attempt 1 to execute request
日志记录来自我在项目中导入的jar。我使用“jar uf”
修改了jar中的logback.xml和log4j.propertieslogback.xml现在看起来像:
<?xml version="1.0"?>
<configuration debug="false">
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoders are by default assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder -->
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
</pattern>
</encoder>
</appender>
<logger name="com.hccl" level="ERROR"/>
<logger name="org.apache.http.wire" level="ERROR"/>
<root level="debug">
<appender-ref ref="STDOUT"/>
</root>
</configuration>
和log4j.properties:
log4j.rootCategory=INFO, stdout
log4j.logger.org.springframework.ws.client.MessageTracing.sent=ERROR
log4j.logger.org.springframework.ws.client.MessageTracing.received=ERROR
log4j.logger.org.springframework.ws.server.MessageTracing=ERROR
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%p [%c{3}] %m%n
log4j.logger.httpclient.wire=ERROR
我导入了这个修改过的jar并将其导入我的项目。这并没有影响日志记录。 另外,我在控制台中收到以下内容:
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
我不知道为什么我会看到这个警告。
答案 0 :(得分:0)
将Apache http静音
您想要静音的软件包是c.v.c.c.
和o.a.h
。这些都是缩写。此外,您指定的<logger name="org.apache.http.wire" level="ERROR"/>
与上述内容不匹配(取每个包名的第一个字母)。
你可能会有更多运气
<logger name="org.apache.http" level="ERROR"/>
关闭所有org apache http日志记录(可能是o.a.h.*
)。
将c.v.c.c
要将以c.v.c.c.ConfigManager
开头的前两行静音,您需要找出这些类。您可以通过将%logger{36}
替换为%logger
来完成此操作,以打印完整的包和类名。或者也许是你自己的班级。在这种情况下,您可以自己将相应的记录器条目放入您的文件中。
警告slf4j-Binding
如果slf4j输出有关“实际绑定”的警告,则类路径中可能有多个slf4j绑定。当我从您的问题中读到时,您尝试使用logback和log4j,这将无法正常工作 - slf4j决定仅使用logback。删除log4j和log4j.properties。如果它们被maven依赖项包含在内,请为这些依赖项指定排除标记。