2016-03-04 18 views
2

我不知道爲什麼log4net的提供方法爲什麼log4net的信息(對象除外)方法

Info(object message, Exception e) 

(當然警告,錯誤等)

爲什麼消息參數不是一個字符串?我猜想這樣就可以傳遞任何對象,並且通過ToString確定日誌消息。但是,再次,爲什麼'ususal'方法

Info(string message) 

使用字符串而不是對象作爲參數?

+0

是的,這個問題不是關於例外,而是關於日誌消息。 – anhoppe

+0

它這樣做是因爲log4j可以,而log4net是它的一個端口。你也錯了:[Info方法將一個對象作爲參數](https://logging.apache.org/log4net/release/sdk/html/M_log4net_ILog_Info.htm)。 – stuartd

+0

你說得對,只有Format方法需要一個字符串。那恐怕這個問題已經過時了。 – anhoppe

回答

3

Log4Net提供IObjectRenderers它可以將對象轉換爲適合於日誌記錄的字符串格式。

在傳遞字符串的情況下,它不需要做任何事情,在傳遞其他對象的情況下它使用IObjectRenderer

如果該方法只接受一個字符串,那麼它不會那麼靈活。

雖然有一個Info(object message)方法,ILog接口似乎不公開一個信息(字符串消息)的方法,所以我不知道你從哪裏得到的?

+0

我的不好,我錯了。但不錯的答案:) – anhoppe

+0

你有一個問題,現在你知道更多關於它。我不認爲你的問題是無效的,這不是你期望的答案! – AndyJ

相關問題