如何配置log4net,让对象的属性映射到日志输出?我试图通过提供一个将LogMessage对象作为单个参数的SOAPWeb服务来提供一种记录发生在我们的Flex客户端中的错误的方法。公共类LogMessage{公共字符串消息{得到;放;}公共字符串异常{得到;放;}公共字符串版本{得到;放;}公共字符串用户{得到;方法,通过log4net记录错误,Flex客户端将填充此对象。[WebMethod()]publicvoidLogClientError(LogMessagemessage){rollingLogger.Error(message);目前,这将打印LogMessage类的完全限定名称,因此我目前的假设是log4net只是对传入的对象调用.ToString()。然而,我真正希望能够做的是将LogMessage类中的每个属性映射到一个模式,以便log4net能够正确地写出所需的信息。我想以仍然支持典型的附加程序(DB、文件、SMTP)的方式来执行此操作。如何配置log4net,使对象的属性可以映射到日志输出?log4net有两条路径可供选择。第一个是为LogMessage实例创建自定义对象渲染器。您需要实现IObjectRenderer接口并注册实现。另一个更可重用的路径是InheritancePatternLayout类。然后,您的自定义架构布局可以支持命名属性的特殊语法,布局可以使用该语法来反映传入的消息对象。如果LogMessage是部分的,您可以在LogMessage上创建ToString()方法。以上就是C#学习教程:如何配置log4net让对象的属性映射到日志输出?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
