没有合适的资源?快使用搜索试试~ 我知道了~
Logback配置文件根据 LEVEL级别将日志分类保存到不同文件.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 6 浏览量
2022-07-03
11:06:28
上传
评论 1
收藏 53KB DOCX 举报
温馨提示
试读
13页
异步输出日志的原理 1、配置文件logback-spring.xml SpringBoot工程自带logback和slf4j的依赖,所以重点放在编写配置文件上,需要引入什么依赖,日志依赖冲突统统都不需要我们管了。 logback框架会默认加载classpath下命名为logback-spring.xml或logback.xml的配置文件。 如果将所有日志都存储在一个文件中,文件大小也随着应用的运行越来越大并且不好排查问题,正确的做法应该是将error日志和其他日志分开,并且不同级别的日志根据时间段进行记录存储。
资源推荐
资源详情
资源评论
1.日志输出到文件并根据 LEVEL 级别将日志分类保存到不同文件
2.通过异步输出日志减少磁盘 IO 提高性能
3.异步输出日志的原理
1、配置文件 logback-spring.xml
SpringBoot 工程自带 logback 和 slf4j 的依赖,所以重点放在编写配置文件上,
需要引入什么依赖,日志依赖冲突统统都不需要我们管了。
logback 框架会默认加载 classpath 下命名为 logback-spring.xml 或
logback.xml 的配置文件。
如果将所有日志都存储在一个文件中,文件大小也随着应用的运行越来越大并且
不好排查问题,正确的做法应该是将 error 日志和其他日志分开,并且不同级别
的日志根据时间段进行记录存储。
配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">
<!-- 项目名称 -->
<property name="PROJECT_NAME" value="project-api" />
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
<property name="LOG_HOME" value="logs" />
<!-- 控制台输出 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<withJansi>true</withJansi>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!-- 格式化输出: %d: 日期; %-5level: 级别从左显示 5 个字符宽度; %thread: 线程
名; %logger: 类名; %M: 方法名; %line: 行号; %msg: 日志消息; %n: 换行符 -->
<pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%thread] [%logger{5
0}] [%M] [%line] - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<!-- ERROR 日志文件,记录错误日志 -->
<appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileApp
ender">
<file>${LOG_HOME}/${PROJECT_NAME}/error.log</file>
<!-- 过滤器,只打印 ERROR 级别的日志 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollin
gPolicy">
<!--日志文件输出的文件名-->
<FileNamePattern>${LOG_HOME}/${PROJECT_NAME}/%d{yyyy-MM-dd}/error.%i
.zip</FileNamePattern>
<!--日志文件保留天数-->
<MaxHistory>3650</MaxHistory>
<!--日志文件最大的大小-->
<MaxFileSize>100MB</MaxFileSize>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!-- 格式化输出: %d: 日期; %-5level: 级别从左显示 5 个字符宽度; %thread: 线程
名; %logger: 类名; %M: 方法名; %line: 行号; %msg: 日志消息; %n: 换行符 -->
<pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%thread] [%logger{5
0}] [%M] [%line] - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<!-- INFO 日志文件,用于记录重要日志信息 -->
<appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppe
nder">
<file>${LOG_HOME}/${PROJECT_NAME}/info.log</file>
<!-- 过滤器,只打印 INFO 级别的日志 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollin
gPolicy">
<!--日志文件输出的文件名-->
<FileNamePattern>${LOG_HOME}/${PROJECT_NAME}/%d{yyyy-MM-dd}/info.%i.
zip</FileNamePattern>
<!--日志文件保留天数-->
<MaxHistory>3650</MaxHistory>
<!--日志文件最大的大小-->
<MaxFileSize>100MB</MaxFileSize>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!-- 格式化输出: %d: 日期; %-5level: 级别从左显示 5 个字符宽度; %thread: 线程
名; %logger: 类名; %M: 方法名; %line: 行号; %msg: 日志消息; %n: 换行符 -->
<pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%thread] [%logger{5
0}] [%M] [%line] - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
剩余12页未读,继续阅读
资源评论
小兔子平安
- 粉丝: 209
- 资源: 1940
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功