一个非常普遍的问题;在程序员的背景下,考虑流程(程序)的操作方面。系统日志 - 日志行分类
是否有任何形式的最佳实践/指南来分类消息,特别是在SaaS /多租户(服务器)软件环境中,由于用户操作或配置错误会产生错误和警告。由于软件的性质,我不得不面对的大多数模块都是无状态的;即当由于用户错误而发生错误时,很难区分该错误和操作错误(如网络错误配置等)。
我想知道的是一些你有经验的人;在这里采用合理的逻辑是什么?为了让男孩/女孩能够轻松分类这些信息并发现问题?
一个非常普遍的问题;在程序员的背景下,考虑流程(程序)的操作方面。系统日志 - 日志行分类
是否有任何形式的最佳实践/指南来分类消息,特别是在SaaS /多租户(服务器)软件环境中,由于用户操作或配置错误会产生错误和警告。由于软件的性质,我不得不面对的大多数模块都是无状态的;即当由于用户错误而发生错误时,很难区分该错误和操作错误(如网络错误配置等)。
我想知道的是一些你有经验的人;在这里采用合理的逻辑是什么?为了让男孩/女孩能够轻松分类这些信息并发现问题?
从管理员只需三个方面和日志分析/分类的角度:
app/user_1
,app/user_2
等,以便在系统日志级别上实现快速且简单的过滤器。config error - cannot parse line 123
或runtime warning - lost connection to DB xyz
感谢您的指点;特别是结构化数据;任何想法如何通过[syslog()](http://linux.die.net/man/3/syslog)函数传递数据 – 2012-02-17 14:28:32
只需将其与syslog(LOG_NOTICE,“%s “,”[exampleSDID @ 32473 ...]可能接着是免费短信“)' - 仅AFAIK NetBSD有一个库函数[syslogp(3)](http://netbsd.gw.com/cgi-bin/ man-cgi?syslogp ++ NetBSD-current)for syslog-protocol,但这是非常实验性的,并且在其他任何地方都不可用(即在生产中不可用)。 – mschuett 2012-02-17 16:12:45
我想你将会从不同的机器上登录他们的系统日志deamon到负责监督/监督的中央机器。
大多数* nix使用半标准格式“Month Day 24H-Time host process_name [pid]:message”将日志处理记录到系统日志(或至少应该)。系统日志包含指示消息严重程度的方式,使用它们(但请记住严重程度来自系统的预期而非应用程序)。
如果消息是一个调试问题,那么它通常是“Function_Name File_Name Line_No Error_Code Error_Desc”;否则消息的格式完全取决于程序。
对于多租户系统而言,“消息”部分以某种形式的租户标识开头,后面跟着实际的日志消息是很常见的。
堆栈交换网络上不允许交叉发布:http://meta.stackexchange.com/q/64068/85514也许您应该删除其中一个问题? – 2012-02-17 12:41:00