根据以前的经验和研究,我使用log4Net在工作场所实现了日志记录。使用ORM记录(log4net和OpenAccess)
但是,当我们的开发会议中提供log4net时,通常会优先使用自定义记录器。原因是为了使用Telerik的ORM生成的代码,而不是在配置文件中指定插入查询。
<appender name="ADONetAppender" type="log4net.Appender.AdoNetAppender">
<bufferSize value="1"/>
<connectionType value="MySql.Data.MySqlClient.MySqlConnection, MySql.Data" />
<connectionStringName value="Test"/>
<commandText value="INSERT INTO Log (UniqueId,Date,UserId,Thread,level,Logger,Message,Exception) VALUES (UUID(),?log_date,?userid,?thread,?log_level,?logger,?message,?exception)" />
...
您的建议是什么?我们可以为此创建一个自定义appender吗?我们应该去用自定义记录器吗?
有关信息,自定义记录仪here有正面和负面的意见。
感谢
当您说'任何机制'时,我可以使用AdoNetAppender而不指定配置文件中的插入查询吗?我希望Log4Net的功能/性能满足团队要求。 感谢您的建议。我会做一些研究并考虑一个不同的数据库。 – Nishzone 2013-03-10 06:32:49
是的,我已经看到了可以覆盖连接字符串的示例。它在log4net具有“connectionStringName”属性之前使用。我曾考虑对命令文本使用相同的方法,但仍不会使用该团队所需的数据传输对象。自定义记录器似乎是目前唯一的解决方案。 – Nishzone 2013-03-10 09:33:29