【发布时间】:2018-03-06 05:28:48
【问题描述】:
我有关于 scala 的项目。 我使用这个库进行日志记录 https://github.com/typesafehub/scala-logging
我创建记录器
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, "++++")
这是我的日志
<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 - ++++
现在我有一个问题:
- 为什么 marker 和 marker2 可见,为什么 DENY 不起作用?
- 如何排除两个标记?
- 如何只排除一个标记?
【问题讨论】:
-
这可能是因为,您创建记录器和记录的类名或包名是
test。所以它优先于根记录器