2010-12-08 100 views
2

Folks ..我們的客戶要求一個新的要求,允許我們的應用程序記錄用戶生成的每個重要事件,例如讓用戶A將phoneNumber屬性從(305)-5555-555更改爲( 906)-5555-555,我們必須以可讀的格式記錄此事件的發生。像應用程序記錄器

updated phoneNumber from (305)-5555-555 to (906)-5555-555, responsible: User A. 

我的問題,確實存在着一個衆所周知的方法來做到這一點,可能是一個技術或工具或什麼嗎?或者我們通過增加整個邏輯以我目前實現每個日誌手源代碼 ??

我們使用ASP.Net與C#!!!

回答

2

有幾種工具可以使用。 NLog和Log4Net就是兩個例子。沒有什麼靈丹妙藥能夠爲你記錄這些事件而不用編碼它們。

如果您使用的是實體模型,您可以使用AOP注入日誌記錄。看看PostSharp。這是一個非常有用的工具,可以爲您節省很多繁瑣的編碼。

+1

PostSharp投票的作者反對在ASP.NET場景中使用它。另外還有一個additinal項目試圖消除這些限制:http://postsharp4aspnet.codeplex.com/(我沒有使用它)。 – 2010-12-30 06:13:42

0

我以前用過Nlog,它運行得很好

0

使用log4Net我們已經使用過很多次了,它是免費和開源的最好的測井工具!

http://logging.apache.org/log4net/

log4net的是幫助程序員輸出日誌報表的多種輸出目標的工具。如果應用程序出現問題,啓用日誌記錄以查找問題很有幫助。使用log4net可以在運行時啓用日誌記錄,而無需修改應用程序二進制文件。 log4net軟件包的設計使日誌語句可以保留在附帶的代碼中,而不會產生高性能成本。 log4net設計時考慮到兩個不同的目標:速度和靈活性

使用來自網站的示例代碼,開始享受!

2

應用程序事件日誌是必須的。但是,大多數可用的日誌記錄模塊相當臃腫或沉重。爲什麼不創建自己的簡單文件記錄器並完全控制應用程序的這部分內容?查找完整的示例實現HERE

+0

偉大的提示和代碼!其他答案是Objective-C,我需要記錄C++中發生的問題。謝謝。 +1 – Patricia 2014-03-13 17:56:41