Skip to content
This repository has been archived by the owner on Sep 10, 2024. It is now read-only.

Latest commit

 

History

History
62 lines (39 loc) · 2 KB

psr3.md

File metadata and controls

62 lines (39 loc) · 2 KB

关于PSR-3日志规范

前置阅读

PSR-3规范中文解释

正文

PSR-3 日志规范主要描述日志的分级,每个级别的场景等。

所以它是一个让我们优雅地记日志的规范

一些第三方日志(monolog)模块基本会遵守PSR-3, 但也不一定

据观察,自己实现日志的几乎都没见过遵守的

我们要求应该遵守PSR-3规范,不管是选择第三方库还是自己实现。

DEBUG

代表调试信息,如果你只是临时的记录一下,或者某些条件下记录一下。 最关键是这个信息是用来调试程序的,就应该用 debug

INFO

代表运行时一些信息,比如你记录一下请求过来的参数,或者调用外部接口的返回, 这样的运行时信息,都应该用 info

NOTICE

这个信息不一定是出错,而是一个隐患,就应该用notice记录, 比如从外部获取数据时返回空,有可能真的是空,也有可能存在一些错误的情况, 这是一个隐患。

WARNING

这种情况下明确了是一些逻辑或数据上的错误,但是不影响主流程。

使用warning记录下来,过后再排查问题。

ERROR

没有疑问,发生了错误,并且不能让它继续运行下去。(继续下去可能引起不确定的严重后果)

这个错误应该被制止,并适当地返回一个错误到客户端。

CRITICAL

这个是错误的一个“升级”版,在执行所有错误该有的行为后,标记为critical的错误信息,

我们认为是应该批判一番的,简单说就是辣鸡代码。

ALERT

这种是比较要命的错误,甚至可能已经发生了不良影响,

在错误的基础上,这个需要我们建立一个通知渠道(短信、邮件)告知系统管理员。

EMERGENCY

十万火急!发生这种错误,要立即通知管理员,并且最短时间内解决问题。

必要时可以先下线服务。