什么写入日志文件?

Bor*_*éry 11 python logging methodology

我的问题很简单:写入日志的内容.有没有约定?我该怎么办?

由于我的应用程序必须发布,我希望有友好的日志,大多数人都可以阅读,而不会询问它是什么.

我已经有了一些想法,比如时间戳,每个函数/方法的唯一标识符等等.我想要有几个日志级别,比如跟踪/调试,信息,错误/警告.

您是否使用了一些预先格式化的日志资源?

谢谢

S.L*_*ott 18

这很愉快,已经实施了.

阅读本文:http://docs.python.org/library/logging.html


编辑

"易于解析,阅读"通常是矛盾的特征.英语 - 易于阅读,难以解析.XML - 易于解析,难以阅读.没有格式可以实现易于阅读和易于解析.一些日志格式"读起来并不可怕,也无法解析".

有些人创建了多个处理程序,因此一个日志有多种格式:人们阅读的摘要和自动解析的XML版本.


Bri*_*ndy 9

以下是对内容的一些建议:

  • 时间戳
  • 信息
  • 日志消息类型(例如错误,警告,跟踪,调试)
  • 线程ID(这样你就可以从多线程应用程序中理解日志文件)

实施的最佳做法:

  • 在write方法周围放置一个互斥锁,这样就可以确保每次写入都是线程安全的并且有意义.
  • 一次向日志文件发送1条消息,并每次指定日志消息的类型.然后,您可以设置要在程序启动时使用的日志记录类型.
  • 对文件不使用缓冲,或者在程序崩溃时经常刷新.

编辑:我刚刚注意到这个问题是用Python标记的,所以请在我之前看到S. Lott的回答.它可能足以满足您的需求.