springboot+log4j2配置
基本上默认这样配置,修修改改就可以使用了,完全ok
<!--monitorInterval是用来设置配置文件的动态加载时间的,单位是秒。-->
<appenders>
<console name="Console" target="SYSTEM_OUT">
<!--输出日志的格式-->
<PatternLayout pattern="${LOG_PATTERN}"/>
</console>
<!-- 这个会打印出所有的info及以下级别的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档-->
<RollingFile name="RollingFileInfo" fileName="${FILE_PATH}/info.log" filePattern="${FILE_PATH}/${FILE_NAME}-INFO-%d{yyyy-MM-dd}_%i.log.gz">
<!--<RollingFile name="RollingFileInfo" fileName="${FILE_PATH}/info.log" filePattern="${FILE_PATH}/${FILE_NAME}-INFO-%d{yyyy-MM-dd HH-mm-ss}_%i.log.gz">-->
<PatternLayout pattern="${LOG_PATTERN}"/>
<Policies>
<!--interval属性用来指定多久滚动一次,根据当前filePattern配置 %{yyyy-MM-dd HH-mm-ss}-->
<TimeBasedTriggeringPolicy interval="30" modulate="true"/>
<!--文件大小,当超过这个时,自动存档,压缩,并生成一个新的文件-->
<SizeBasedTriggeringPolicy size="10KB"/>
</Policies>
<!-- DefaultRolloverStrategy属性如不设置,则默认为最多同一文件夹下7个文件开始覆盖-->
<DefaultRolloverStrategy max="7">
<!--删除日志 maxDepth:代表扫描的目录深度-->
<Delete basePath="${FILE_PATH}/" maxDepth="2">
<!--<IfFileName glob="*/app-*.log.gz" />-->
<IfFileName glob="${FILE_NAME}-INFO-*.log.gz" />
<IfLastModified age="90d" />
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
</appenders>
<loggers>
<!-- root是根目录,记录输出level等级 -->
<!--
logger是单独用来指定日志的形式
name: 指定输出日志的路
additivity: 输出日志是否追加在 root根目录下, 默认true(使用默认就好),
1.如果false则只会在自己的appender中输出,不会在父logger中输出,如果appender没有,则不会输出
2.指定 appender-ref ,如果指定,并且会处理他们的
appender-ref: 具体要输出的地方,可以指定
-->
<root level="info">
<appender-ref ref="Console"/>
<appender-ref ref="RollingFileInfo"/>
</root>
<logger name="com.example.demo.mapper" level="debug" additivity="true">
<!--如果不指定appender的话,则输出到所有-->
<!--<appender-ref ref="RollingFileInfo"/>-->
</logger>
</loggers>
标签:
slf4j
, springboot,log4j2
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界