我在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 - ++++
这里有一个logback.xml
,它拒绝dp
和st
标记。
<configuration>
<turboFilter class="ch.qos.logback.classic.turbo.MarkerFilter">
<Marker>DP</Marker>
<OnMatch>DENY</OnMatch>
</turboFilter>
<turboFilter class="ch.qos.logback.classic.turbo.MarkerFilter">
<Marker>ST</Marker>
<onMatch>DENY</onMatch>
</turboFilter>
<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>
</appender>
<root level="DEBUG">
<appender-ref ref="STDOUTTime"/>
</root>
</configuration>
关于您的文件的错误:
>
文件不以
开头,以结尾
由于您的记录器命名为ds.forwarding
,因此在类中,您必须确保正在调用该记录器。在您的示例中,使用GetClass
方法调用记录器。在我的logback.xml
文件中,我将appender
添加到我的root
记录器中。因此,通过Logger(getClass)
方法调用它就足够了。
一定要注意水平。我将级别设置为debug
。
正确设置配置后,只需将
属性更改为allow
(如果您希望记录器打印它),或者将deny
(如果您不希望记录器打印它)。只需将两者设置为允许
就会打印所有标记,另一方面,如果将两者设置为拒绝
,则不会打印该标记。
我在Azure中有一个应用程序洞察资源。在我们的Java应用程序中,我们有一个log4j.xml文件,它根据服务名称写入多个日志文件。 我正在将Application Insights appender添加到日志记录中,并且能够在Application Insights资源中看到不同日志文件的所有日志。但是,我无法在Application Insights中通过日志文件名进行筛选,因此跟踪日志是没
问题内容: 我想根据日期从数据库中筛选值。 数据库中的日期包含以下值:2008-12-28 18:00:00。我的班级有一个DateTime变量,具体取决于我要过滤的变量。理想情况下,它将像这样工作: +根据需要调整myDateTime.Date格式。 但是它抛出一个EvaluateException:“该表达式包含未定义的函数调用DATE()。” 尽管如果直接执行SQL语句,则可以在过滤器中使用
https://graph.microsoft.com/v1.0/users?$select=id,displayName,jobTitle,createdDateTime 无论我输入任何筛选器,请参见下面的示例,我从未得到任何关于“'created datetime>2018-08-02t13:01:13z'中位置26处的语法错误”的错误响应。 https://graph.microsoft.c
我已经根据本手册将Spring Boot配置为使用Log4j2。我想通过根记录器中设置的级别过滤所有日志。下面是我的log4j2-spring.xml文件: 问题是,我仍然看到来自hibernate和spring框架的DEBUG输出。我设法通过为某些条目指定完整的包名来筛选单个日志,如下所示:
JSoup在这里。我有以下我试图解析的超文本标记语言: 不幸的是,它的格式有点不正确(在
我试着在附加程序上操作级别过滤器,但似乎没有太大作用