后端log的重要性及标准


2023-04-18 03:03:00

后端一般需要两个文件,access.log及error.log。
access.log用于跟踪用户行为,一般要包含:请求时间,处理时间,用户标识,处理结构,请求内容等。
error.log用于提供给开发人员,排查bug或漏洞。运维人员应定期下载error.log给开发人员,尤其是系统上线初期。因此,error_log信息要详细些,一般包括stack信息。
error后,除留下error_log备查外,一般要返回一个唯一的错误id到客户端,以后要利用这个id来初步判断。再有就有返回给客户的出错信息,这是给客户看的,不是给开发人员看的,要给客户清晰指示,一旦出错后,该怎么办?
log4j类似的机制,看似美好,实际太过灵活,并不实用。经常一堆log混在里边,有聊胜于无而矣。
从应用场景上看,除正常运行中输出的access及error log外,就剩下排查问题时的调试输出。这个nodejs中debug就很实用。想调试哪个模块,在环境变量中加入模块调试量即可,如:set DEBUG=mySql。就从屏幕输入其实就可以了,没必要log到文件中。