我想知道为什么log4net提供方法
Info(object message, Exception e)
(当然还有警告,错误等)
为什么message参数不是字符串?我猜这种方式可以传递任何对象,日志消息是通过ToString确定的。但话又说回来,为什么'ususal'方法
Info(string message)
使用字符串而不是对象作为参数?
答案 0 :(得分:3)
Log4Net提供IObjectRenderers,可以将对象转换为适合日志记录的字符串格式。
在传递字符串的情况下,它不需要做任何事情,在传递其他对象的情况下它使用IObjectRenderer。
如果方法只采用字符串,那么就不会那么灵活。
虽然有Info(object message)方法,ILog接口似乎没有公开Info(字符串消息)方法,所以我不知道你从哪里得到它?