一个非常笼统的问题;在程序员的上下文中,考虑到过程(程序)的操作方面。
是否有任何类型的最佳实践/指南来分类消息,特别是在 SaaS / 多租户(服务器)软件环境的上下文中,由于用户操作或错误配置会产生错误和警告。由于软件的性质,我必须处理的大多数模块都是无状态的;即当由于用户错误而发生错误时,很难将其与操作错误(如网络配置错误等)区分开来。
我想知道的是你们中的一些有经验的人;为了便于操作男孩/女孩对这些消息进行分类和发现问题,这里要采用什么合理的逻辑?
从管理员和日志分析/分类的角度来看,只有三个方面:
app/user_1
,app/user_2
从而允许在 syslog 级别上进行快速简单的过滤器。config error - cannot parse line 123
或runtime warning - lost connection to DB xyz
我猜你会用他们的系统日志守护程序从不同的机器收集日志到一个负责监督/监控的中央机器。
大多数 *nix 进程使用半标准格式“Month Day 24H-Time host process_name[pid]: message”记录到 syslog(或至少应该)。Syslog 结合了指示消息严重性的方法,使用它们(但请记住,严重性来自系统的预期,而不是应用程序)。
如果消息是调试问题,则通常是“Function_Name File_Name Line_No Error_Code Error_Desc”;否则消息的格式完全取决于程序。
对于多租户系统,“消息”部分通常以某种形式的租户标识开始,然后是实际的日志消息。