SpringBoot3 从0开始搭建5,排除问题的法宝之正确地记录日志

开发 前端
第一种文件记录日志的方式是大家最常用的,但是一般不推荐直接查看日志文件,可以通过分布式日志系统,比如elk 采集异步采集文件,然后查找日志。推荐大家将这几种方式结合起来,根据自己的需求来合理搭配使用,提高开发效率。

前言

开发中,排除线上问题,最好的方法无疑是查看日志。如何正确的记录日志,是每一个开发人员应该掌握的技能。很多时候,日志记录的好坏,决定了排查问题的速度。

日志级别

日志一般常用的四种级别: debug(开发时用) info (记录一些日志追踪信息)warn(警告,可以通过警告哟花程序)error(发生错误,这个也是我们最值得关注的)

集成日志

springboot 默认集成了logback,可以读取log-spring.xml 的配置,日志的输出一般常用的有以下几种方式: 1 输出到文件 2 输出到邮件 3 输出到数据库

实践

配置log-spring.xml 对应的appender

1 文件appender

这里选择按时间滚动输出(按配置会根据文件的大小按日期自动生成多个文件,这里要合理的配置文件的大小,一般建议10m , 太多了查看起来不方便)

2 邮件appender

这个通常是将error级别的错误发送到某个邮件,这样就可以及时的提醒收件人,这里的日志发送是异步的,所以对程序的影响可以忽略不计。

3 数据库 DBAppender

很多时候日志文件查询信息,很是麻烦,需要登录到服务器,然后去查看日志,一般如果有运维的话,自己没权限访问服务器,还要麻烦运维,这个时候我们就可以考虑,将一些信息放入数据库,logback也是很好的提供了支持,为我们提供了需要用到的表结构,支持多种数据类型,脚本位置如图

这里还需要单独引入DBAppender,新版本去掉了此类,需要引入新的jar包

最后的配置如下

注意: 这里添加了一个连接池来与DBAppender关联,为了提高数据库的写入效率,加入后可由原来的大约10ms缩短到1ms,这就是池技术的好处,可以提升10倍性能。

总结

第一种文件记录日志的方式是大家最常用的,但是一般不推荐直接查看日志文件,可以通过分布式日志系统,比如elk 采集异步采集文件,然后查找日志。推荐大家将这几种方式结合起来,根据自己的需求来合理搭配使用,提高开发效率。

责任编辑:武晓燕 来源: 今日头条
相关推荐

2022-11-23 08:00:00

开发Regulator调试

2015-10-28 10:29:09

数据中心运输硬驱

2023-08-09 08:29:51

SpringWeb编程

2022-08-02 09:56:47

入口文件代码

2011-05-13 09:01:33

2015-03-23 11:42:54

2020-08-19 14:22:09

程序员测试互联网

2023-03-29 08:52:58

视觉Vue组件库

2023-08-07 14:28:07

SpringBoot工具

2016-03-01 17:48:32

WLAN控制器网络管理

2020-12-22 13:50:56

物联网5G大数据

2022-09-16 14:13:50

人工智能楼宇自动化

2021-11-05 15:10:28

UbuntuLinuxJAVA_HOME

2023-04-06 19:06:28

ChatGPT开发摔倒识别

2024-04-02 11:38:31

模型训练

2010-08-26 10:55:05

网络故障

2016-11-21 15:22:47

GitHub操作开源

2024-10-08 08:26:43

2023-08-11 08:59:49

分库分表数据数据库

2024-11-26 09:33:44

点赞
收藏

51CTO技术栈公众号