我正在考虑在操作周围何处写入日志记录。这里有两种不同的风格。第一种是,在操作之前写入日志。
Before:
log.info("Perform operation XXX")
operation()
以下是一种不同的写法,操作完成后再记录日志。
操作完成后:
operation()
log.info("Operation XXX is done.")
使用 before 风格,日志记录描述的是程序现在要做什么。这种风格的优点在于,当出现问题时,开发人员可以轻松检测到,因为他们知道程序正在做什么。但缺点是,如果操作中出现了问题,比如函数调用被阻塞而永远无法返回,你无法通过阅读日志记录来确定操作是否正确完成。
使用 after 风格,则可以确保操作的完成。
当然,我们也可以将这两种风格混合在一起。
log.info("Perform operation XXX")
operation()
log.info("Operation XXX is done.")
但我觉得这种方式有点啰嗦,它会记录重复的日志。那么,我的问题是 - 什么是好的日志记录方式?我想知道你们怎么想。