我正在用C#編寫一個函數來記錄用戶在我們系統上的操作並將它們保存在數據庫中。具體而言,我想記錄業務邏輯的某些功能,因爲它們被稱爲。我來到約測井方法是這樣的:記錄器方法設計
public static LogMethod(string user, string methodName, object[] parameters, string message)
內適當ToString()
函數被調用爲每個參數的方法。 例如,對於foo方法它被稱爲是這樣的:
void Foo(int a, SomeObject b)
{
Logger.LogMethod(username, "Foo", new object[]{a,b}, "Beginning Foo");
//etc
}
是它記錄的函數調用的好方法?實現這一目的的最佳實踐是什麼? 會影響性能嗎?
你可以只使用微軟[登錄應用程序塊(http://msdn.microsoft.com/en參數的名稱-us /庫/ ff664569%28V = pandp.50%29.aspx)? –
僅供參考 - log4net的已經DB集成內置的,可能是有用的:http://logging.apache.org/log4net/release/config-examples.html –