2013-06-19 74 views
2

我使用Spring與SLF4J和Logback。 記錄器使用自定義註釋和BeanPostProcessor自動注入到bean中。Logback記錄器名稱globbing爲jUnit特定記錄器

是否有logback.xml配置記錄器,以便它的名字是某種形式的表達方式?像螞蟻通配符?這將幫助我爲jUnit測試專門配置一個記錄器。

什麼我的目標是值得的效果:

<logger name="my.package.**.*Test"> 
    ... 
</logger> 

我開到更適合的解決方案。

回答

1

我不相信這是可能的默認。很難確定,因爲logback文檔的編寫方式並不便於快速查找。它寫在一個,嘿,你想使用logback,好吧以及如何讀45分鐘有點方式。

無論如何,你也許可以做到這一點,如果你實現自定義的LoggerFactory(實施org.slf4j.ILoggerFactory),並告訴的logback使用你的工廠。

0

這個配置抑制所有的日誌,除了除了那些記錄名稱中包含「測試」。

<!-- Drops all logs except those from "Test" classes --> 

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 

    <filter class="ch.qos.logback.core.filter.EvaluatorFilter"> 
     <evaluator> 
      <expression>return logger.contains("Test");</expression> 
     </evaluator> 
     <OnMismatch>DENY</OnMismatch> 
     <OnMatch>ACCEPT</OnMatch> 
    </filter> 
</appender> 

<root level="DEBUG"> 
    <appender-ref ref="STDOUT" /> 
</root>