马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
一,日志是什么
日志我们在一开始的学习中就有相识,一开始我们就已经利用过了System.out.print来打印日志了。但在项目中这种肯定满足不了。就必要一些专门的日志框架来到达我们的要求。
1.1日志的用途
1.系统监控
我们在这里可以设置不同的值,在到达一定水平的超过阈值之后,进行报警,这也是很常见的需求。
2.数据采集
数据统计,比如网页的访问人数之类的,对公司做数据有很大的帮助。
推荐排序:也就是大数据的整合,通过算法来给用户做出推荐。
二,日志利用
在spring boot启动的时候也有日志,意思也就是图中这些:
这些就是日志的一些基础信息,来做分别。
1.时间⽇期:精确到毫秒
2. ⽇志级别:ERROR,WARN,INFO,DEBUG或TRACE
3. 进程ID
4. 线程名
5. Logger名(通常使⽤源代码的类名)
6. ⽇志内容
三,SLF4J框架介绍
SLF4J也就是其他日志框架的门面,为日志服务提供了同一的接口。假如不引入门面,这样就必要一环套一环很麻烦,必要依赖许多,维护起来还特别麻烦,一个错了要一个一个去慢慢维护。
引入之后,有同一的接口,只必要维护一套日志文件设置就OK了,引入之后的样子:
总的来说,SLF4J使你的代码独⽴于任意⼀个特定的⽇志API,这是⼀个对于开发API的开发者很好的头脑。
四,日志级别
FATAL:致命信息,表⽰必要⽴即被处理的系统级错误.
ERROR:错误信息,级别较⾼的错误⽇志信息,但仍然不影响系统的继承运⾏
WARN:警告信息,不影响使⽤,但必要注意的题目
INFO:平凡信息,⽤于记录应⽤步伐正常运⾏时的⼀些信息,例如系统启动完成,哀求处理完成等。
DEBUG:调试信息,必要调试时候的关键信息打印。
TRACE:追踪信息,⽐DEBUG更细粒度的信息事件(除⾮有特殊⽤意,否则请使⽤DEBUG级别替代)
日志级别的顺序:
级别越高,收到的消息越少,fatal根本不会有信息,因为有就根本不会通过启动步伐。末了面那个也根本不会,因为不会影响步伐。
3.1日志级别的利用
假如你照旧必须打印那些日志,这边就可以利用代码来实现:
- public String printLog() {
- logger.trace("================= trace ===============");
- logger.debug("================= debug ===============");
- logger.info("================= info ===============");
- logger.warn("================= warn ===============");
- logger.error("================= error ===============");
- return "打印不同级别的⽇志" ;
- }
复制代码 但这样打印出来,就只有info,warn,error级别的日志,因为日志默认输出是info,只会打印大于等于它的,所以打印了这三个。
3.2日志文件分割
必要在spring boot设置文件内里来写
porperties设置:
- logging.logback.rollingpolicy.file-name-pattern=${LOG_FILE}.%d{yyyy-MM-dd}.%i
- logging.logback.rollingpolicy.max-file-size=1KB
复制代码 yml设置:
- logging:
- logback:
- rollingpolicy:
- max-file-size: 1KB
- file-name-pattern: ${LOG_FILE}.%d{yyyy-MM-dd}.%i
复制代码 这种就是设置当日志大于1kb的时候就分割,很小,在实际应用中我们必要调大一点点。
3.3日志格式
idea专业版不消设置,怎样下载在前面几篇博客提到过
社区版设置:
1. %clr(表达式){颜⾊}
设置输⼊⽇志的颜⾊⽀持颜⾊有以下⼏种:
• blue
• cyan
• faint
• green
• magenta
• red
• yellow
2. %d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd'T'HH:mm:ss.SSSXXX}}
⽇期和时间--精确到毫秒
3. %5p 显示日志级别ERROR,MARN,INFO,DEBUG,TRACE.
4. %t 线程名.%c 类的全限定名.%M method.%L 为⾏号.%thread 线程名称.%m 或者%msg 显⽰输出消息.%n 换⾏符
5. %5 若字符⻓度⼩于5,则右边⽤空格填充.%-5 若字符⻓度⼩于5,则左边⽤空格填充.
%.15 若 字符⻓度超过15,截去多余字符.%15.15 若字符⻓度⼩于15,则右边⽤空格填充.若字符⻓度超 过15,截去多余字符
四,简朴的日志利用
每次都利用那个LoggerFactory.getLogger(xxx.class)很繁琐。利用lombok提供了方便的方法:
1. 添加lombok框架⽀持
2. 使⽤@slf4j 注解输出⽇志。
添加lombok依赖:
- <dependency>
- <groupId>org.projectlombok</groupId>
- <artifactId>lombok</artifactId>
- <optional>true</optional>
- </dependency>
复制代码 输出日志
- @Slf4j
- @RestController
- public class LogController {
- public void log(){
- log.info("--------------要输出⽇志的内容----------------");
- }
- }
复制代码 这样就可以简朴输出日志了。lombok提供的@Slf4j注解和log对象快速的打印⾃定义⽇志。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |