Fru*_*ner 2 java spring log4j log4j2
我希望我的应用程序在Debug级别运行,但Spring除外,因为Spring会生成大量的日志记录语句,这使得很难通读日志.我目前配置了我的Log4j2文件,如下所示:
<Configuration status="debug">
<Appenders>
<RollingFile name="systemLog" fileName="C:/test/logs/system.log" includeLocation="true"
filePattern=""C:/test/logs/system-%d{MM-dd-yyyy}-%i.log.gz">
<PatternLayout pattern="%d{ISO8601} - %-5level [%t] %C %M %m%n" />
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="15 MB"/>
</Policies>
</RollingFile>
<Async name="systemAsyncAppender" includeLocation="true">
<AppenderRef ref="systemLog" />
</Async>
</Appenders>
<Loggers>
<SpringLogger name="org.springframework.*" level="error" additivity="false">
<AppenderRef ref="systemAsyncAppender" />
</SpringLogger>
<Root level="debug" includeLocation="true">
<AppenderRef ref="systemAsyncAppender" />
</Root>
</Loggers>
</Configuration>
Run Code Online (Sandbox Code Playgroud)
我认为设置SpringLogger会将Spring设置为仅在ERROR级别运行,并且写入与其他所有内容相同的日志,但我仍然看到完整的Spring DEBUG输出.我有一个模糊的记忆,能够很容易地使用旧log4j.properties文件(我认为这很简单log4j.category.org.springframework=ERROR),但我不知道如何使用Log4J2.
(使用Log4J2 2.0.2,spring 3.2.11)
Sot*_*lis 10
我不认为log4j2对Spring有任何特殊配置,所以<SpringLogger>这里似乎不合适.
相反,只需声明一个常规记录器
<logger name="org.springframework" level="error" additivity="false">
...
</logger>
Run Code Online (Sandbox Code Playgroud)
另请注意记录器名称.这些是分层的.你不需要*(我认为它实际上打破了它).
| 归档时间: |
|
| 查看次数: |
3145 次 |
| 最近记录: |