如何使用当前网站的log4Net的connectionString代替配置?我使用log4Net作为系统日志。如果appender类型是Log4Net中的AdoNetAppender,则需要connectionString节点。但是,我的网站上已经有一个使用Log4Net的connectionString。如何在log4net配置文件中使用log4Net网站的connStr而不是再次配置相同的connstr?很简单,只需要替换appender的connectionString配置即可。而不是连接字符串:你只需配置connectionStringName:然后你有你的应用程序连接字符串:不幸的是,你必须有connectionType和connectionStringName,例如:......为你的网站配置log4net后,你可以动态更新AdoNetAppender的ConnectionString,通常在Global.asax中。使用XmlConfigutor()或其他方法调用配置log4net后,您可以调用下面的方法来检查所有AdoNetAppenders并更新所需的connectionString。privatestaticvoidConfigureLog4Net(){Hierarchyhierarchy=LogManager.GetRepository()asHierarchy;if(hierarchy!=null&&hierarchy.Configured){foreach(IAppenderappenderinhierarchy.GetAppenders()){if(appenderisAdoNetAppender){varadoNetAppender=(AdoNetAppender)appender;adoNetAppender.ConnectionString=ConfigurationManager.AppSettings["YOURCONNECTIONSTRINGKEY"].ToString();adoNetAppender.ActivateOptions();//RefreshAdoNetAppendersSettings}}}}您现在可以使用AdoNetAppender的ConnectionStringName属性将其指向应用程序或web.config文件中的命名connectionString:AdoNetAppender.ConnectionStringName属性您可以通过编写自定义ADO.NETappender并覆盖连接字符串:publicnewstringConnectionString{get{returnbase.ConnectionString;}//你可以在这里设置你自己的连接字符串set{base.ConnectionString=ConfigurationManager.ConnectionStrings["Sql"].ConnectionString;你可以访问http://technico.qnownow.com/2012/03/12/how-to-write-custom-ado-net-appender-for-log4net/的完整示例您可以通过继承AdoNetAppender实现此目的,请参阅下面的“KenBurkhardt”博客了解更多详细信息。http://kenny-bu.blogspot.com/2011/03/using-connection-string-name-with.html这在1.2.11版本中应该是可行的。以下是问题链接:https://issues.apache.org/jira/browse/LOG4NET-88以上是C#学习教程:HowdoIusetheconnectionStringforlog4Netofthecurrentwebsiteinsteadofconfiguringthe全部内容分享出来,如果对大家有帮助有用,需要多多了解C#学习教程。希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
