log4j2.xml依赖
<!--全局排除spring-boot-starter-logging内的所有依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 引入Log4j2-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
resources/log4j2.xml
<?xml version="1.0" encoding="UTF-8"?> <configuration> <appenders> <!-- 控制台输出 --> <console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %class %L %M -- %msg%n" /> </console> <!-- fileName:输出路径 filePattern:命名规则 --> <!-- trace<debug<info<warn<error --> <!--只记录debug级别日志--> <RollingFile name="RollingFileDebug" fileName="D:/logs/debug.log" filePattern="D:/logs/$${date:yyyy-MM-dd}/debug-%d{yyyy-MM-dd}-%i.log"> <!--过滤器--> <Filters> <!--debug级别及以上--> <ThresholdFilter level="DEBUG"/> <!--拒绝INFO日志--> <ThresholdFilter level="INFO" onMatch="DENY" onMismatch="NEUTRAL" /> </Filters> <!-- 输出格式 --> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %class{36} %L %M - %msg%n" /> <Policies> <!-- 单个日志文件的大小限制 --> <SizeBasedTriggeringPolicy size="100 MB" /> </Policies> <!-- 最多保留20个日志文件 --> <DefaultRolloverStrategy max="20" /> </RollingFile> <!--只记录info级别日志--> <RollingFile name="RollingFileInfo" fileName="D:/logs/info.log" filePattern="D:/logs/$${date:yyyy-MM-dd}/info-%d{yyyy-MM-dd}-%i.log"> <Filters> <ThresholdFilter level="INFO" /> <ThresholdFilter level="WARN" onMatch="DENY" onMismatch="NEUTRAL" /> </Filters> <!-- 输出格式 --> <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n" /> <Policies> <!-- SizeBasedTriggeringPolicy单个文件的大小限制 --> <SizeBasedTriggeringPolicy size="100 MB" /> </Policies> <!-- DefaultRolloverStrategy同一个文件下的最大文件数 --> <DefaultRolloverStrategy max="20" /> </RollingFile> <!--只记录warn级别日志--> <RollingFile name="RollingFileWarn" fileName="D:/logs/warn.log" filePattern="D:/logs/$${date:yyyy-MM}/warn-%d{yyyy-MM-dd}-%i.log"> <Filters> <ThresholdFilter level="WARN" /> <ThresholdFilter level="ERROR" onMatch="DENY" onMismatch="NEUTRAL" /> </Filters> <PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n" /> <Policies> <!--<TimeBasedTriggeringPolicy modulate="true" interval="1"/> --> <SizeBasedTriggeringPolicy size="100 MB" /> </Policies> <!--最多保留20个日志文件 --> <DefaultRolloverStrategy max="20" min="0" /> </RollingFile> <!--只记录error级别日志--> <RollingFile name="RollingFileError" fileName="D:/logs/error.log" filePattern="D:/logs/$${date:yyyy-MM}/error-%d{yyyy-MM-dd}-%i.log"> <Filters> <ThresholdFilter level="ERROR" /> <ThresholdFilter level="FATAL" onMatch="DENY" onMismatch="NEUTRAL" /> </Filters> <PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n" /> <Policies> <!--<TimeBasedTriggeringPolicy modulate="true" interval="1"/> --> <SizeBasedTriggeringPolicy size="100 MB" /> </Policies> <!--最多保留20个日志文件 --> <DefaultRolloverStrategy max="20" min="0" /> </RollingFile> </appenders> <loggers> <!--同步日志配置,开发使用使用--> <root level="DEBUG"> <appender-ref ref="Console"/> <appender-ref ref="RollingFileDebug"/> <appender-ref ref="RollingFileInfo"/> <appender-ref ref="RollingFileWarn"/> <appender-ref ref="RollingFileError"/> </root> <!--不做打印的日志,只有error打印--> <logger name="org.springframework" level="error"></logger> <logger name="org.mybatis" level="error"></logger> <logger name="org.apache.ibatis" level="error"></logger> <!--swagger--> <logger name="springfox.documentation" level="error"></logger> <!--后台异步线程记录--> <!--异步日志配置,上线使用--> <!--<AsyncRoot level="info" includeLocation="true">--> <!--<appender-ref ref="RollingFileDebug"/>--> <!--<appender-ref ref="RollingFileInfo"/>--> <!--<appender-ref ref="RollingFileWarn"/>--> <!--<appender-ref ref="RollingFileError"/>--> <!--</AsyncRoot>--> <!--<AsyncLogger name="org.springframework" level="error" includeLocation="true">--> <!--<AppenderRef ref="RollingFileError"></AppenderRef>--> <!--</AsyncLogger>--> <!--<AsyncLogger name="org.mybatis" level="error" includeLocation="true">--> <!--<AppenderRef ref="RollingFileError"></AppenderRef>--> <!--</AsyncLogger>--> <!--<AsyncLogger name="com.alibaba.druid" level="error" includeLocation="true">--> <!--<AppenderRef ref="RollingFileError"></AppenderRef>--> <!--</AsyncLogger>--> </loggers> </configuration>
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性