PSR-3 日志规范主要描述日志的分级,每个级别的场景等。
所以它是一个让我们优雅地记日志的规范
一些第三方日志(monolog)模块基本会遵守PSR-3, 但也不一定
据观察,自己实现日志的几乎都没见过遵守的
我们要求应该遵守PSR-3规范,不管是选择第三方库还是自己实现。
代表调试信息,如果你只是临时的记录一下,或者某些条件下记录一下。
最关键是这个信息是用来调试程序的,就应该用 debug
代表运行时一些信息,比如你记录一下请求过来的参数,或者调用外部接口的返回,
这样的运行时信息,都应该用 info
这个信息不一定是出错,而是一个隐患,就应该用notice
记录,
比如从外部获取数据时返回空,有可能真的是空,也有可能存在一些错误的情况,
这是一个隐患。
这种情况下明确了是一些逻辑或数据上的错误,但是不影响主流程。
使用warning
记录下来,过后再排查问题。
没有疑问,发生了错误,并且不能让它继续运行下去。(继续下去可能引起不确定的严重后果)
这个错误应该被制止,并适当地返回一个错误到客户端。
这个是错误的一个“升级”版,在执行所有错误该有的行为后,标记为critical
的错误信息,
我们认为是应该批判一番的,简单说就是辣鸡代码。
这种是比较要命的错误,甚至可能已经发生了不良影响,
在错误的基础上,这个需要我们建立一个通知渠道(短信、邮件)告知系统管理员。
十万火急!发生这种错误,要立即通知管理员,并且最短时间内解决问题。
必要时可以先下线服务。