Skip to content

Instantly share code, notes, and snippets.

@HydrangeaPurple
Created January 17, 2024 07:29
Show Gist options
  • Save HydrangeaPurple/89ec0c7de8396dbd378b3b6835331af2 to your computer and use it in GitHub Desktop.
Save HydrangeaPurple/89ec0c7de8396dbd378b3b6835331af2 to your computer and use it in GitHub Desktop.
<?xml version="1.0" encoding="UTF-8"?>
<!--status 属性设置的是 log4j2 框架本身内部的日志记录级别,而不是代码中的应用程序日志, 建议设置WARN级别-->
<Configuration status="DEBUG" xmlns="http://logging.apache.org/log4j/2.0/config"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://logging.apache.org/log4j/2.0/config
https://raw.githubusercontent.com/apache/logging-log4j2/master/log4j-core/src/main/resources/Log4j-config.xsd">
<Properties>
<!-- 读取应用名称 -->
<Property name="applicationName">pnt_star</Property>
<!-- 定义日志文件根目录 -->
<Property name="logDir" value="../logs"/>
<!-- 定义日志的通用格式 -->
<!-- 定义日志分卷文件通用文件名形式 -->
<Property name="genericFilePattern" value="%d{yyyy-MM-dd}-%i"/>
<!-- 定义本应用日志输出形式 -->
<Property name="flowPattern" value="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Properties>
<Appenders>
<Console name="consoleAppender" target="SYSTEM_OUT">
<PatternLayout pattern="${flowPattern}"/>
</Console>
<RollingFile name="rollingDayFileAppender" fileName="${logDir}/${applicationName}.log"
filePattern="${logDir}/${applicationName}-${genericFilePattern}.log.gz">
<PatternLayout>
<Pattern>${flowPattern}</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
<SizeBasedTriggeringPolicy size="200MB"/> <!--按照200MB切分-->
</Policies>
<DefaultRolloverStrategy>
<Delete basePath="${baseDir}" maxDepth="2">
<IfFileName glob="${logDir}/${applicationName}-*.log.gz"/>
<IfLastModified age="3d"/> <!--保留3天-->
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
</Appenders>
<Loggers>
<!--additivity 属性指定了是否继承父 Logger 的日志记录。如果设置为 true,则该 Logger 会继承其父 Logger 的日志记录,并将日志事件传递给其父 Logger。-->
<!--includeLocation 属性指定是否在日志事件中包含源代码位置信息。如果设置为 true,则日志事件中将包含类名、方法名、文件名和行号等源代码位置信息-->
<!--发布生产 additivity 和 includeLocation 不要设置为true-->
<Root level="OFF">
<AppenderRef ref="consoleAppender"/>
</Root>
<!-- MyBatis SQL 日志 -->
<AsyncLogger name="mybatis" level="error" additivity="false">
<AppenderRef ref="rollingDayFileAppender"/>
</AsyncLogger>
<!--业务日志-->
<AsyncLogger name="com.abc" level="info" additivity="false">
<AppenderRef ref="rollingDayFileAppender"/>
</AsyncLogger>
</Loggers>
</Configuration>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment