有一個webforms應用程序的類包含很多方法。我想以一種靈活而簡單的方式保存被調用方法的日誌。 我想知道哪種方法終於被稱作以及其他一些附加信息,如:什麼日誌系統用於C#中的方法?
- 輸入值和
- 結果值
- 崩潰異常(如果有崩潰)
目前,我正在使用log4net進行文件系統日誌記錄,例如:
using log4net;
private static readonly ILog Log1 = LogManager.GetLogger("Log1");
public int DoSomething(int itemId = 0)
{
Log1.DebugFormat("[DoSomething] - Doing Something on item {0} Started", itemId);
try
{
//something..
}
catch (Exception ex)
{
Log1.Debug("[DoSomething] - Something Failed", ex);
}
Log1.DebugFormat("[DoSomething] - Doing Something on item {0} Finished", itemId);
return 0;
}
如何在不用每次寫入每個方法中的這些代碼塊的情況下實現這一點?有更好的自動方法嗎? 每種情況下的性能成本如何?
另一種方法會很棒!
解決此問題的常用方法是使用AOP(Aspect Oriented Programming)。 PostSharp(https://www.postsharp.net/)是這個範例的一個實例,但也有其他的例子。 – Evk
這似乎是一種方法。你曾經使用postsharp @Evk? –
是的,我一直使用它(我有付費版本,但免費版本應該足以實現你想要的)。 – Evk