我应该在手术前后进行记录吗?

Fan*_*Lin 6 python logging coding-style

我在考虑在哪里写一个操作的日志记录.这是两种不同的风格.第一个,在操作之前写入日志.

之前:

log.info("Perform operation XXX")
operation()
Run Code Online (Sandbox Code Playgroud)

这里有不同的风格,操作后写日志.

后:

operation()
log.info("Operation XXX is done.")
Run Code Online (Sandbox Code Playgroud)

使用之前的样式,日志记录说明现在要做什么.这种风格的专家是,当出现问题时,开发人员可以轻松地检测到它,因为他们知道程序现在在做什么.但是问题是你不确定操作是否正确完成,如果操作中出现错误,例如,函数调用在那里被阻塞而且永远不会返回,你不可能通过读取日志记录来了解它.使用后续样式,您确定操作已完成.

当然,我们可以将这两种风格混合在一起

都:

log.info("Perform operation XXX")
operation()
log.info("Operation XXX is done.")
Run Code Online (Sandbox Code Playgroud)

但我觉得这有点冗长,它会产生双重记录记录.所以,这是我的问题 - 什么是良好的伐木风格?我想知道你怎么想.

Len*_*bro 12

我通常使用两种不同的日志级别.

第一个我放在"调试"级别,第二个放在"信息"级别.通过这种方式,典型的生产机器只记录正在进行的操作,但我可以打开调试日志记录,看看它在出错之前尝试做什么.