<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<!-- 根节点,scan/true配置文件发生变化时,重新加载,scanPeriod扫描间隔,debug是否显示logback内部日志 -->
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<!-- 变量属性 -->
<property name="logName" value="testLogName"/>
<!-- 上下文名称,默认default -->
<contextName>${logName}</contextName>
<!-- 时间戳字符串,key名字,dataPattern格式 -->
<timestamp key="timeStr" datePattern="yyyyMMdd HH:mm:ss"/>
<!-- 写日志组件,相当于写日志的规则,name名字,class指appender的全限定名,相当于这个appender的实现类 -->
<!-- 这个appender是定义控制台输出规则 -->
<appender name="ConsoleLog" class="ch.qos.logback.core.ConsoleAppender">
<!-- 定义日志输出格式 -->
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} -%msg %n</pattern>
<!-- 输出字符集 -->
<!-- <charset>UTF-8</charset> -->
</encoder>
</appender>
<!-- 定义日志文件输出规则,需要加载到logger中才能生效 -->
<appender name="FileTimeLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${catalina.base}/timeLog.%d{yyyy-MM-dd}.log</file>
<!-- 根据时间规则生成日志,名字、存在时间(天数时间,第N+1天时,会删除第一个) -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 文件输出没有路径时,默认到eclipse安装位置; -->
<!-- ${user.dir}也是eclipse安装目录下;;直接Tomcat-webapps下启动时,在Tomcat-bin路径下 -->
<!-- ${catalina.base} eclipse内的Tomcat启动,路径eclipse\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\logs;直接Tomcat-webapps下启动时,在Tomcat路径下 -->
<fileNamePattern>${catalina.base}/timeLog.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
<maxHistory>30</maxHistory><!-- 最大存在天数 -->
</rollingPolicy>
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} -%msg %n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<!-- 根据文件大小生成日志 -->
<appender name="FileSizeLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 文件输出位置 -->
<file>${catalina.base}/sizeLog.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<!-- 日志文件超过设置大小时,将压缩保存 -->
<fileNamePattern>${catalina.base}/sizeLog.%i.log.zip</fileNamePattern>
<!-- 相当于for循环的起始值,结束值,对应%i -->
<minIndex>1</minIndex>
<maxIndex>10</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<!-- 定义日志文件的大小,超过这个大小时,滚动 rollingPolicy,产生压缩文件 -->
<maxFileSize>10MB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} -%msg %n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<logger name="com.zzz" level="DEBUG">
<appender-ref ref="FileTimeLog"/>
<appender-ref ref="FileSizeLog"/>
</logger>
<!-- logger的根节点 -->
<root level="INFO">
<appender-ref ref="ConsoleLog"/>
</root>
</configuration>
logback.xml配置
最新推荐文章于 2023-05-30 11:56:20 发布