2010-11-07 62 views
4

我很好奇log4NET如何使用%L獲取激發日誌事件的行數。你能否給我一些闡述?log4NET如何知道發生日誌事件的行數

謝謝。

+0

日誌行號http://forums.asp.net/t/1439034.aspx?log4net+failed+to+log+line+number+file+name – Eldho 2015-10-20 11:24:26

回答

3

它使用了一個StackTrace,如the log4net documentation中所述。

注意lognet文檔中的注意事項:

  • 警告生成呼叫者位置信息是極其緩慢。應該避免使用它,除非執行速度不是問題。

  • 注意
    的System.Diagnostics.StackTrace類有此說關於發佈版本:

    「堆棧跟蹤信息將是最翔實與調試生成配置默認情況下,調試版本包含調試符號,同時發佈調試符號包含用於構建StackFrame和StackTrace對象的大部分文件,方法名稱,行號和列信息。由於優化期間發生代碼轉換,因此StackTrace可能不會報告預期的方法調用。 「

    這意味着在發佈構建中,調用者信息可能不完整或根本不存在!因此呼叫方位置信息不能在Release版本中使用。

相關問題