我是slf4j的新手。我使用Apache HTTPClient编写了API自动化脚本(Maven / TestNG项目),并使用slf4j进行日志记录。当我使用日志级别DEBUG运行自动化脚本时,HTTPClient本身会生成大量日志,并且我的预期日志会被隐藏在其中。如何强制slf4j只报告我的自动化日志并跳过其他所有内容?
答案 0 :(得分:2)
这取决于您正在使用的 Runtime SLF4J实现。
示例回归
如果您的运行时库是Logback,那么配置文件可能如下所示:
档案:logback.xml
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoders are assigned the type
ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<logger name="your-package-name" level="DEBUG" />
<root level="warn">
<appender-ref ref="STDOUT" />
</root>
</configuration>
ConsoleAppender
<logger>
属性name
,然后输入您的包名称,顶部。所有子包也将包括在内。PS:如果您使用log4j作为运行时依赖项,则配置类似。但如果是这样,请阅读Reasons to prefer logback over log4j