写应用不写日志,只会在撞板后也不知道为何撞板。线上的问题永远不会知道为何会发生,只会出现事故之后身处茫然之中。 哪怕用print也要输出关键数据 新手会经常在调试的时候使用print,不论这种方式的优劣,反正关键位置数据哪怕用print输出都比没有好。在linux系统,nohup启动进程的时候,可以把print输出的内容导到一个文件。只要有print,就多了一条路子来定位数据。 记录日志请用成熟的框架 真心不推荐用print来记录日志,为什么呢?因为成熟的框架往往可以设置日志的存储方式和随意控制存储哪种级别日志内容。 我们记录日志,大部分时候是不会翻阅的,但是我们很多时候又需要从日志挖掘一些数据。例如每天请求某个接口多少次,然后有哪些接口请求耗时超过1秒的等诸如此类。 如果日志需要用于分析,我们存在于文本,就需要编写繁琐的代码来获取结果。假如我们用了mysql或者mongodb等数据库存储日志,我们就可以简单调用API来统计数据。 我们再看看这些主流的日志框架(例如java的log4j,python的标准库logging),他们往往提供若干个记录日志的方法。例如debug,info,