log4j2.xml
<?xml version="1.0" encoding="UTF-8"?> <configuration status="info"> <appenders> <Console name="Console" target="SYSTEM_OUT" follow="true"> <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %t %-5level %logger{30}.%method - %msg%n"/> </Console> <!--默认按天&按512M文件大小切分日志,默认最多保留30个日志文件,非阻塞模式--> <XMDFile name="infoAppender" fileName="info.log" sizeBasedTriggeringSize="512M" rolloverMax="30"> <Filters> <ThresholdFilter level="warn" onMatch="DENY" onMismatch="NEUTRAL"/> <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/> </Filters> </XMDFile> <XMDFile name="warnAppender" fileName="warn.log" sizeBasedTriggeringSize="512M" rolloverMax="30"> <Filters> <ThresholdFilter level="error" onMatch="DENY" onMismatch="NEUTRAL"/> <ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="DENY"/> </Filters> </XMDFile> <XMDFile name="errorAppender" fileName="error.log" sizeBasedTriggeringSize="512M" rolloverMax="30"> <ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/> </XMDFile> <!--日志远程上报--> <Scribe name="ScribeAppender"> <!--远程日志默认使用appkey作为日志名(app.properties文件中的app.name字段),也可自定义scribeCategory属性,scribeCategory优先级高于appkey--> <LcLayout/> </Scribe> <Async name="ScribeAsyncAppender" blocking="false"> <AppenderRef ref="ScribeAppender"/> </Async> <!--hive日志远程上报--> <Scribe name="ScribeHiveAppender"> <!--远程日志默认使用appkey作为日志名(app.properties文件中的app.name字段),也可自定义scribeCategory属性,scribeCategory优先级高于appkey--> <Property name="scribeCategory">qcs.regulation.jiaotongbu</Property> <LcLayout/> </Scribe> <Async name="XMDFileAppender" blocking="false"> <AppenderRef ref="ScribeHiveAppender"/> </Async> <CatAppender name="catAppender"/> </appenders> <loggers> <logger name="hive-logger" additivity="false"> <AppenderRef ref="XMDFileAppender"/> <appender-ref ref="ScribeAsyncAppender"/> </logger> <logger name="com.sankuai.qcs.regulation" additivity="false"> <appender-ref ref="ScribeAsyncAppender"/> <appender-ref ref="infoAppender"/> <appender-ref ref="warnAppender"/> <appender-ref ref="errorAppender"/> <appender-ref ref="catAppender"/> </logger> <!--其他日志--> <root level="info"> <appender-ref ref="warnAppender"/> <appender-ref ref="errorAppender"/> <appender-ref ref="Console"/> <appender-ref ref="catAppender"/> </root> </loggers> </configuration>
其中 最后的:
<root level="info"> <appender-ref ref="warnAppender"/> <appender-ref ref="errorAppender"/> <appender-ref ref="Console"/> <appender-ref ref="catAppender"/> </root>
指的是<!-- 设置根日志级别,指定路径中的日志优先级大于根日志优先级
如果设置了level=info 就是说 根目录会打印info以上的信息;
参考:Log4J日志信息配置文件详解
本文来自博客园,作者:aspirant,转载请注明原文链接:https://www.cnblogs.com/aspirant/p/10635550.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2014-04-01 printf 与c的基本类型之间的关系