1.日志效果
2.操作步骤
1.在项目resources目录下添加logback.xml文件,文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 自定义日志输出路径-->
<property name="PATH" value="/log/mylog" />
<!--自定义日志存留天数-->
<property name="LOG_MAX_HISTORY" value="5"/>
<!--自定义单个日志文件的大小,超过将生成新文件-->
<property name="LOG_MAX_FILE_SIZE" value="20MB"/>
<!--自定义日志总大小,超过将删除最旧存档-->
<property name="LOG_TOTAL_SIZE_CAP" value="10GB"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%-5level) %blue(%-50logger{50}:%-4line) %msg%n</Pattern>
</encoder>
</appender>
<appender name="TRACE_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${PATH}/trace.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<FileNamePattern>${PATH}/trace.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<!--保存多少天的日志-->
<maxHistory>${LOG_MAX_HISTORY}</maxHistory>
<!--自定义日志总大小-->
<totalSizeCap>${LOG_TOTAL_SIZE_CAP}</totalSizeCap>
<!--单个文件大小上限-->
<maxFileSize>${LOG_MAX_FILE_SIZE}</maxFileSize>
<!--在只有设置为true并且 maxHistory 不为零才能起效。-->
<cleanHistoryOnStart>true</cleanHistoryOnStart>
</rollingPolicy>
<!--输出格式-->
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %-50logger{50}:%-4line %green(%-8X{UUID}) %msg%n</pattern>
<charset>utf8</charset>
</encoder>
</appender>
<appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${PATH}/error.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<FileNamePattern>${PATH}/error.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<!--单个文件大小上限-->
<maxFileSize>${LOG_MAX_FILE_SIZE}</maxFileSize>
<!--保存多少天的日志-->
<maxHistory>${LOG_MAX_HISTORY}</maxHistory>
<!--自定义日志总大小-->
<totalSizeCap>${LOG_TOTAL_SIZE_CAP}</totalSizeCap>
<!--在只有设置为true并且 maxHistory 不为零才能起效。-->
<cleanHistoryOnStart>true</cleanHistoryOnStart>
</rollingPolicy>
<!--输出格式-->
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %-50logger{50}:%-4line %green(%-8X{UUID}) %msg%n</pattern>
<charset>utf8</charset>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<root level="ERROR">
<appender-ref ref="ERROR_FILE" />
</root>
<root level="TRACE">
<appender-ref ref="TRACE_FILE" />
</root>
<root level="INFO">
<appender-ref ref="STDOUT" />
</root>
</configuration>
此处需要修改一下路径,也可以不修改,自己知道日志存在哪里就好。
logback-限制日志保存最大天数等:
<!--保存多少天的日志-->
<maxHistory>${LOG_MAX_HISTORY}</maxHistory>
<!--自定义日志总大小-->
<totalSizeCap>${LOG_TOTAL_SIZE_CAP}</totalSizeCap>
<!--单个文件大小上限-->
<maxFileSize>${LOG_MAX_FILE_SIZE}</maxFileSize>
<!--在只有设置为true并且 maxHistory 不为零才能起效。-->
<cleanHistoryOnStart>true</cleanHistoryOnStart>
3.项目重启验证
就可以看到下面的效果了:
另外,我们还会看到,在我们当前项目所在的盘符(例如:D盘 + logback.xml配置的PATH路径)下会生成对应的文件夹,文件夹下会生成error.log
和trace.log
两个文件:
完结,撒花~~~
附相关其他日志:
java项目增加统一切面日志输出,对于项目调试问题排查还是很有必要的
Java服务-常用技术-logback中totalSizeCap和maxHistory无效的解决办法
您的点赞和留言是我们前进的动力和支持,也是我们不断进步的关键。如果您觉得我的文章有价值,请不要吝啬您的赞和留言!