<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Filters>
<!-- onMatch="DENY" es wird nicht geloggt, onMatch="ACCEPT" es wird geloggt -->
<MarkerFilter marker="HTTP_HEADER" onMatch="DENY" onMismatch="NEUTRAL"/>
<MarkerFilter marker="XML_FILTER" onMatch="DENY" onMismatch="NEUTRAL"/>
<MarkerFilter marker="FLOW" onMatch="ACCEPT" onMismatch="NEUTRAL"/>
</Filters>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout
pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
<RollingFile name="dmFileAppender" fileName="logs/doorman.log"
filePattern="logs/doorman-%i.log">
<PatternLayout>
<!--<pattern>%d{HH:mm:ss.SSS} [%t] %X{id} %X{username} %-5level %c{36} %l: %msg%n</pattern>-->
<pattern>%d{yyyyMMdd-HHmmss} %-5level [%t] %msg%n</pattern>
</PatternLayout>
<Policies>
<SizeBasedTriggeringPolicy size="2 MB"/>
</Policies>
<DefaultRolloverStrategy min="1" max="5"/>
</RollingFile>
</Appenders>
<Loggers>
<Root level="warn">
<AppenderRef ref="Console"/>
</Root>
<Logger name="de.ulrich" level="INFO" additivity="false">
<AppenderRef ref="dmFileAppender"/>
<AppenderRef ref="Console" />
</Logger>
<Logger name="org.apache.http.impl.conn" level="error">
<AppenderRef ref="dmFileAppender"/>
<AppenderRef ref="Console"/>
</Logger>
<Logger name="org.apache.http.impl.client" level="error">
<AppenderRef ref="dmFileAppender"/>
<AppenderRef ref="Console"/>
</Logger>
<Logger name="org.apache.http.client" level="error">
<AppenderRef ref="dmFileAppender"/>
<AppenderRef ref="Console"/>
</Logger>
</Loggers>
</Configuration>
我将filters
元素移动到logger
元素内部,现在得到了预期的日志记录输出。
片段:
<Loggers>
<Root level="warn">
<AppenderRef ref="Console"/>
</Root>
<Logger name="de.lgn" level="${lgnDefaultLogLevel}" additivity="false">
<AppenderRef ref="dmFileAppender"/>
<AppenderRef ref="Console" />
<Filters>
<!-- onMatch="DENY" es wird nicht geloggt, onMatch="ACCEPT" es wird geloggt -->
<MarkerFilter marker="HTTP_HEADER" onMatch="DENY" onMismatch="NEUTRAL"/>
<MarkerFilter marker="XML_FILTER" onMatch="DENY" onMismatch="NEUTRAL"/>
<MarkerFilter marker="FLOW" onMatch="DENY" onMismatch="NEUTRAL"/>
</Filters>
</Logger>
...
...
</Loggers>
谢谢你。
我使用的是Log4J2,Jboss 6.4上的2.4版本,我的log4j2.xml放在WEB-INF/classes中。我可以在没有关于log4j配置的错误的情况下部署war,并且可以在RollingFile name=“mylog”中正确地记录日志,但我不能理解的是,为什么在控制台appender中出现“mylog”的信息日志 配置:
这样,来自我的类的日志消息显示正常,但出现并被DispatcherServlet捕获的错误显示在控制台的调试级别: 在standalone.xml中,日志记录部分如下所示: 此外,尽管我的log4j.xml包含以下内容:
在我的log4j2配置中,我将一个AsyncRoot设置为INFO,因为我想在一个文件中记录这个级别和更高的级别。 但我也希望将错误级别记录到特定的文件和在AsyncRoot中配置的appender中 null 谢谢你
我试图让我的日志使用log4j2和yaml工作,一直在挣扎。 这个包是com的。eclipse非常嘈杂,所以我只想在warn或更高级别记录来自该包的消息。对于我的软件包,我希望将调试及以上记录到滚动追加器,并将错误或以上记录到错误日志。在控制台上,我想看到除org之外的所有东西的debug。埃普利斯 使用当前配置,我看不到组织。eclipse调试消息,很好,我看到了com。myorganizati
我有log4j2.xml,它部分配置为: 但是,跟踪消息并不存在于两个文件附加符(fileinfo/filedebug)中。当我更改FileDebug log level=“TRACE”时,就会出现跟踪消息。
问题内容: 我应该使用哪个过滤器来定义要使用apender记录的特定级别?例如: Java的 log4j2.xml: 文件输出很好,但是在控制台中,我得到了这样的结果: 但是我需要追加程序仅输出INFO消息,而输出所有EXEPT INFO。因此,控制台输出应如下所示: 无法找到如何防止过滤器尊重级别继承的方法。是否有可能做到这一点? 问题答案: 这有效: