Logging 为什么log4net使用对象?
为什么log4net中的ILog签名使用对象作为参数?例如:Logging 为什么log4net使用对象?,logging,indexing,log4net,Logging,Indexing,Log4net,为什么log4net中的ILog签名使用对象作为参数?例如: void Info(object message); 为什么不直接将其显式化,并使用字符串呢?在幕后是否有一些复杂的反射功能,例如将消息展平并将其转换为表格结构?或者这仅仅是原始创造者的事后发现 这是一个对象,似乎表明了前者,但我没有看到任何关于这方面的文档 此外,我还计划将对象存储在数据库中,log4net能否自动为我创建实体,以便轻松索引消息的内容?例如,如果我传入一个具有3个属性的对象,我希望在单独的列中看到这3个属性
void Info(object message);
为什么不直接将其显式化,并使用字符串呢?在幕后是否有一些复杂的反射功能,例如将消息展平并将其转换为表格结构?或者这仅仅是原始创造者的事后发现
这是一个对象,似乎表明了前者,但我没有看到任何关于这方面的文档
此外,我还计划将对象存储在数据库中,log4net能否自动为我创建实体,以便轻松索引消息的内容?例如,如果我传入一个具有3个属性的对象,我希望在单独的列中看到这3个属性。同样地,对于关系,我希望看到关系是动态建立的
object
这样你就可以传递任何东西。您只需要担心提供一个有用的ToString()
实现。类似的操作在string.Format()
中完成MessageObject
属性从日志事件中检索原始MessageObject。然后,您可以“轻松”地以任何方式写入数据库因此,我猜它可以将任何支持
的东西转换为字符串。谢谢,我会看一看。