2017-06-04 50 views
0

我目前在我的應用程序的每一個方法記錄方法名稱中使用Log.DebugFormat如何使用屬性以聲明方式使用log4net記錄方法名稱和參數?

Public Sub Checkout(order As Order) 
    Log.DebugFormat(Reflection.MethodBase.GetCurrentMethod().Name) 
    ... 
End Sub 

是否有更好的方式,使用屬性與log4net,所以我的方法看起來比較清爽呢?

+1

不只與log4net,不,但像[PostSharp](https://www.postsharp.net/)的東西可以爲你做到這一點。 – stuartd

回答

1

您可以在您的格式使用堆棧跟蹤獲取方法名稱:

堆棧跟蹤:

用於輸出日誌事件的堆棧跟蹤 堆棧跟蹤級別說明符括號之間封閉。例如,對於 %stacktrace {level}。如果未給出堆棧跟蹤級別說明符 ,則假定爲1輸出使用以下格式:type3.MethodCall3> type2.MethodCall2> type1.MethodCall1對於Compact Framework程序集,此模式不可用 。

相關問題