簡體   English   中英

您如何看待在特殊日志表中保存堆棧跟蹤?

[英]What do you think of saving stack trace in a special log table?

假設您有一個特殊的應用程序日志表。

您如何為可能的堆棧跟蹤創建BLOB字段?

記錄也是對文件進行的,但是讀取文本文件並不方便,而且數據庫更“可訪問”。

如果堆棧跟蹤是由於數據庫連接失敗怎么辦? 有些事情需要盡可能低級和簡單。 此外,我不明白為什么數據庫應該比文件共享或ssh帳戶更多或更少可訪問。

重復記錄聽起來像......好吧,重復記錄。 高架。 如果您需要通過數據庫訪問日志,我寧願使用/編寫一個工具,可以在需要時將日志導入到單獨的數據庫中。 或者通過其他方式使它們可以訪問。 我知道的一個工具是Splunk,但它很昂貴,而且我確信還有其他工具。

我以前曾在一個應用程序中進行過這種情況,但正如Marcelo Cantos所說,它從來都不可靠,因為某些異常無法記錄在那里,因此我們從未使用它,而是始終依賴於日志文件。

如果您使用日志文件來調試錯誤,您還將以正確的順序獲得您選擇打印的任何其他信息消息調試; 很少有你需要的只是堆棧跟蹤,通常導致堆棧跟蹤的內容同樣如果不是更有用。

為什么? 或者至少,如果你要這樣做,為什么Blob領域呢?

如果我要實現這樣的東西,我會將異常分成單獨的StackTraceElements並將它們存儲到適當的表中。 隨着時間的推移和各種各樣的失敗,您可能會在應用程序中生成一些有關風險和質量性質的有趣統計數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM