Log4Net:将C#对象(异常除外)写入日志?

Log4Net:将C#对象(异常除外)写入日志?,c#,logging,log4net,error-logging,C#,Logging,Log4net,Error Logging,我在Log4Net中看到,您可以编写一条消息并将Exception对象作为第二个参数传递 是否可以将另一种类型的对象发送到log4net,以便我可以查看对象日志中的值 如果我有一个正在填充的类的实例,并且我将该实例发送到日志中 这有可能吗?你可以自己写出来,这会给你一些控制。您可以使用获取对象的类型,获取属性,并将其作为调试或信息写入 您可以进一步扩展获取属性的方法,使其仅写出所需内容,并在对象中递归运行n级,或者直到对象没有属性为止。您可以这样做。(首先尝试谷歌搜索,看看是否有人制作了适合您的

我在Log4Net中看到,您可以编写一条消息并将Exception对象作为第二个参数传递

是否可以将另一种类型的对象发送到log4net,以便我可以查看对象日志中的值

如果我有一个正在填充的类的实例,并且我将该实例发送到日志中


这有可能吗?

你可以自己写出来,这会给你一些控制。您可以使用获取对象的类型,获取属性,并将其作为调试或信息写入


您可以进一步扩展获取属性的方法,使其仅写出所需内容,并在对象中递归运行n级,或者直到对象没有属性为止。

您可以这样做。(首先尝试谷歌搜索,看看是否有人制作了适合您的场景的东西)。

ILog接口的各种方法都接受对象作为“消息”参数,因此通过log4net“编写”对象的最简单方法是实现
ToString()
方法

另一种方法是提供
IObjectRenderer
实现。我不知道如何在配置文件中注册,但在代码中演示了如何注册

如果需要在appender中将对象作为单独的实体,那么应该使用(也适用于
ToString()
实现)