[英]How to hide the output of a single Logback logger?
我在以下情況下使用logback
package ninja.template;
public class TemplateEngineManagerImpl implements TemplateEngineManager {
private final Logger logger = LoggerFactory.getLogger(TemplateEngineManagerImpl.class);
...
logger.info("Registered response template engines");
...
而且我想隱藏此TemplateEngineManagerImpl
類的所有INFO
輸出(或所有輸出-該類僅在INFO
級別記錄),但僅此類 。
不幸的是,以下配置不起作用,因為我仍可以在控制台輸出中看到“注冊的響應模板引擎”。
<configuration>
<appender name="STDOUT_TERSE" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoders are assigned the type
ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
<encoder>
<pattern> | %msg%n</pattern>
</encoder>
</appender>
<logger name="ninja.template.TemplateEngineManagerImpl" level="OFF"/>
<root level="info">
<appender-ref ref="STDOUT_TERSE" />
</root>
</configuration>
注意我也嘗試了以下沒有結果的
<logger name="ninja.template.TemplateEngineManagerImpl" level="WARN"/>
和
<logger name="ninja.template" level="WARN"/>
和
<logger name="TemplateEngineManagerImpl" level="WARN"/>
提供的登錄配置有效
<logger name="ninja.bodyparser.BodyParserEngineManagerImpl" level="WARN" additive="false"/>
我的錯誤是該字符串記錄在兩個不同的地方。
因此,通過使用以下配置顯示完整的logger
名稱:
<appender name="STDOUT_TERSE" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoders are assigned the type
ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
<encoder>
<pattern> | %logger | %msg%n</pattern>
</encoder>
我能夠復制並粘貼應該用作記錄器名稱的字符串!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.