1818IP-服务器技术教程,云服务器评测推荐,服务器系统排错处理,环境搭建,攻击防护等

当前位置:首页 - 运维 - 正文

君子好学,自强不息!

运维人员需知:最佳日志实践

2022-11-05 | 运维 | gtxyzz | 654°c
A+ A-

前言

日志用来记录用户操作、系统运行状态等,是一个系统的重要组成部分。然而由于日志并非系统核心功能,通常情况下并不受团队的重视。在出现问题需要通过日志来定位时,才发现日志还存在很多问题。

日志记录的好坏直接关系到系统出现问题时定位的速度,同时可以通过对日志的观察和分析,提前发现系统可能的风险,避免线上事故的发生。

我们在开发和运维NOS(网易对象存储,Netease Object Storage)的过程中,对整个系统的日志进行了分析优化,积累出一些经验,归纳如下。

相关问题经验整理

1.关于日志级别

我们通常使用的日志库(如log4j等),将日志基本分为以下几类(从低到高):

TRACE-TheTRACELeveldesignatesfiner-grainedinformationaleventsthantheDEBUG
DEBUG–TheDEBUGLeveldesignatesfine-grainedinformationaleventsthataremostusefultodebuganapplication.
INFO-TheINFOleveldesignatesinformationalmessagesthathighlighttheprogressoftheapplicationatcoarse-grainedlevel.
WARN-TheWARNleveldesignatespotentiallyharmfulsituations.
ERROR-TheERRORleveldesignateserroreventsthatmightstillallowtheapplicationtocontinuerunning.
FATAL-TheFATALleveldesignatesverysevereerroreventsthatwillpresumablyleadtheapplicationtoabort.

尽管log4j官方文档对各个日志级别进行了简单定义。然而在实践中,究竟哪些操作需要记入日志,哪种错误应该记为WARN级别,而哪种错误又为ERROR级别,还需要进行进一步讨论。

关于该问题,在StackOverflow上有一个讨论贴进行过讨论。

此处对贴子中的一些观点,加上我们在平时运维过程中遇到的相关问题进行归纳:

  • 一个项目各个log级别的定义应该是清楚明确的,是每个开发人员所遵循的;
  • 即使是TRACE或者DEBUG级别的日志,也应该有一定的规范,要保证除了开发人员自己以外,包括测试人员和运维人员都可以方便地通过日志定位问题;
  • 对于日志级别的分类,有以下

本文来源:1818IP

本文地址:https://www.1818ip.com/post/7175.html

免责声明:本文由用户上传,如有侵权请联系删除!

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。