一個非常普遍的問題;在程序員的背景下,考慮流程(程序)的操作方面。系統日誌 - 日誌行分類
是否有任何形式的最佳實踐/指南來分類消息,特別是在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