日志消息样式指南

时间:2010-10-13 16:49:33

标签: logging coding-style

我正在寻找记录消息的样式指南:

例如:

  • 什么&当
  • 约定
  • 风格&格式化
  • 可读性

即。什么是好/坏日志消息字符串

我特别感兴趣的是创建一个好的日志字符串 - 除了包括TIME,SEVERITY和COMPONENT之外,因为我倾向于使用log4j来免费提供这些信息。

5 个答案:

答案 0 :(得分:2)

无论您决定什么,如果它是文本日志,请以优先ISO格式的时间戳开始每一行:

<强> YYYY-MM-DDTHH:MM:SS.mmm

很可能,您需要使用严重性代码来跟踪时间戳。

可在此处找到一些良好的日志记录准则:

http://watchitlater.com/blog/2009/12/logging-guidelines/

在这里

http://download.oracle.com/docs/cd/B32110_01/web.1013/b28952/logging.htm

答案 1 :(得分:1)

这实际上取决于您的申请。我可以从/ var / log / *

中的任何东西中汲取灵感

答案 2 :(得分:1)

有效的日志记录是一门艺术,但有一些主要项目可以提供帮助:

  • 线程ID :企业应用程序通常在多线程环境中执行。使用线程ID信息,您可以区分一个请求与另一个请求。

  • 来电者身份:来电者的身份(或校长)也是一条重要的信息。由于不同的用户具有不同的权限,因此他们的执行路径可能非常不同将用户的身份放在日志消息中对于安全感知应用程序非常有用。

  • 时间戳:通常,用户只能估算问题发生的时间。没有时间戳,支持人员很难识别问题。

  • 源代码信息:这包括班级名称,方法名称和行号。

(这些提示取自this IBM article on Java logging。)

答案 3 :(得分:1)

在会议方面,几年来我一直将日志格式化为:

severity timestamp source message

severity是以下符号:

(-) Info
(!) Warning
(*) Error

E.g:

(-) 2010-10-13T18:53:42 foo: Starting up...
(!) 2010-10-13T18:54:11 foo: bar: Unable to lock file "quux", will try again in 4 seconds.
(-) 2010-10-13T18:56:13 foo: Loading plugin "baz"...
(*) 2010-10-13T18:57:39 foo: baz: Error 0xbaadbeef during RPC.
(-) 2010-10-13T18:58:04 foo: Shutting down...

我发现浏览特定邮件类(所有错误,所有警告)都比较容易,特别是在使用终端中的寻呼机浏览日志时。

答案 4 :(得分:0)

10 Commandments of Logging是对伐木世界的完美介绍。

本网站将教你做什么&amp;不要创建自己的日志文件。