我的web.config文件中已经有一个数据库连接字符串.我扫描了log4net文档,但似乎找不到在web.config文件的log4net部分使用它的方法.有可能做这样的事吗?

<connectionStrings>
    <add name="connStr" connectionString="Data Source=localhost; ..." />
</connectionStrings>

<log4net>
    <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
    <connectionString connectionStringName="connStr"/>
      ...
</log4net>

推荐答案

创建一个扩展AdoNetAppender的类,比如WebAppAdoNetAppender.在该类中实现ConnectionString属性,并从web检索连接字符串.属性设置程序中的配置文件.

<log4net>
    <appender name="AdoNetAppender" type="MyApp.WebAppAdoNetAppender">
    ...

...

public class WebAppAdoNetAppender : log4net.Appender.AdoNetAppender
{
    public new string ConnectionString
    {
        get { return base.ConnectionString; }
        set { base.ConnectionString = ...   }
    }
}

Asp.net相关问答推荐

我们可以在一个网页中使用多个表单吗?

如何从 dll 文件中提取类的源代码?

Azure 自定义控制器/API .Net 后端

我可以在 .net 核心中使用 Entity Framework 6(非核心)吗?

ASP.NET MVC 中的 ASP.NET AJAX 与 jQuery

文本框的输入按键触发事件

stream.CopyTo - 文件为空.网

如何在新实现的接口或基类之间做出决定?

在 ASP.NET MVC 中使用 Razor 创建可重用的 HTML 视图组件

等价于 ASP.NET Core 中的 Html.RenderAction

如何防止 XXE 攻击(.NET 中的 XmlDocument)

如何在 ASP.NET 中设置下拉列表项?

HttpContext.Current.Request.Url.Host 它返回什么?

asp.net 网站上的第一页加载缓慢

脚本管理器控制实际上是做什么的?

Docker 中的 ASPNETCORE_ENVIRONMENT

根据条件更改 GridView 行 colored颜色

如何清除 System.Runtime.Caching.MemoryCache

MVC4 - 当优化设置为 true 时Bundle 不起作用

System.Web.Caching 还是 System.Runtime.Caching 更适合 .NET 4 Web 应用程序