2010-10-13 82 views
4

我正在寻找一个风格指南来记录消息:日志消息的风格指南

例如:

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

即是什么让一个好/坏日志消息字符串

我在什么使一个很好的日志字符串特别感兴趣 - 超越包括时间,严重程度和组成部分,因为我倾向于使用log4j的,给了我这个信息免费。

YYYY-MM-DDTHH:MM:SS.mmm

无论你决定,如果它是一个文本日志,每一行的开头用,最好,ISO格式良好的时间戳

+0

相关[凡/应记录代码走什么样的水平?](http://stackoverflow.com/questions/3658527/where-what-level-should-logging-code-go) – 2010-10-13 16:59:19

回答

1

这确实取决于你的应用。我可以从任何位于/ var/log中汲取灵感/ *

1

有效的记录是一门艺术,但也有一些重大的项目,可以帮助:

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

  • 来电显示:来电的身份(或主体)也是一个重要的信息。由于不同的用户有不同的权限,他们的执行路径可能会有很大的不同将用户的身份放在日志消息中对于支持安全性的应用程序来说是一个很大的帮助。

  • 时间戳:通常,用户只能近似发生问题的时间。没有时间戳,支持人员很难确定问题。

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

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

1

公约方面,几年我一直在格式化我的日志为:

severity timestamp source message 

随着severity是符号:

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

如:

(-) 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... 

我发现浏览更容易 - 搜索特定的消息类(所有错误,所有警告),特别是在使用终端中的寻呼机浏览日志时。