我在scala上有項目。 我用這個lib中記錄 https://github.com/typesafehub/scala-logginglogback中的過濾器標記
我創造記錄
import com.typesafe.scalalogging.Logger
val log = Logger(getClass)
和兩個標記
import org.slf4j.{Marker, MarkerFactory}
private val marker: Marker = MarkerFactory.getMarker("DP")
private val marker2: Marker = MarkerFactory.getMarker("ST")
我用日誌在我的控制器
log.debug(marker, "----"
log.debug(marker2, "++++")
這是我的logback
<appender name="STDOUTTime" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%coloredLevel %logger{30} - %marker - %d{yyyy/MM/dd/HH:mm:ss.SSS/Z} - %message%n%xException{3}</pattern>
</encoder>
<turboFilter class="ch.qos.logback.classic.turbo.MarkerFilter">
<Marker>DP</Marker>
<OnMatch>DENY</OnMatch>
<OnMismatch>DENY</OnMismatch>
</turboFilter>
<turboFilter class="ch.qos.logback.classic.turbo.MarkerFilter">
<Marker>ST</Marker>
<onMatch>DENY</onMatch>
<onMismatch>DENY</onMismatch>
</turboFilter>
</appender>
<logger name="ds.forwarding" level="DEBUG">
<appender-ref ref="STDOUTTime"/>
</logger>
<root level="ERROR">
</root>
現在,當我跑我的控制,我有輸出控制檯:
[debug] d.f.c.a.s.InputStatisticController - DP - 2017/09/25/11:55:58.603/+0300 - ----
[debug] d.f.c.a.s.InputStatisticController - ST - 2017/09/25/11:55:58.603/+0300 - ++++
現在我有一個問題:
- 爲什麼標記和標記2是可見的,爲什麼DENY不起作用?
- 如何排除兩個標記?
- 如何排除只有一個標記?
這可能是因爲,您創建記錄器和日誌記錄的類名稱或包名稱是'test'。所以它優先於根記錄器 – Rjk