c# - log4net 配置 - 找不到部分

标签 c# .net logging log4net

这是我的错误信息:

log4net:ERROR XmlConfigurator: Failed to find configuration section 'log4net' in the application's .config file. Check your .config file for the <log4net> and <configSections> elements. The configuration section should look like: <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />

这是我的 web.config:

<?xml version="1.0"?>
<configuration>
    <configSections>
       <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
    </configSections>

   <system.serviceModel>
   ...
   </system.serviceModel>

   <connectionStrings>
   ...
   </connectionStrings>

   <log4net>
   ...
   </log4net>

</configuration>

我的配置有什么问题?

更新:

还有 Web.Release.config:

<?xml version="1.0"?>    
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">

    <system.web>
        <compilation xdt:Transform="RemoveAttributes(debug)" />
    </system.web>

    <system.serviceModel>
    ...
    </system.serviceModel>

    <connectionStrings>
    ...
    </connectionStrings>

    <log4net>
    ...   
       <root>
          <level value="DEBUG" xdt:Transform ="Replace"/>
       </root>
    </log4net>

</configuration>

Web.Test.cofig - 与 Release one 相同

和 Web.Debug.config,它是空的:

<?xml version="1.0"?>

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">    

</configuration>

最佳答案

您是在某处调用 XmlConfigurator.Configure() 吗?

删除这些调用,只添加 [assembly: log4net.Config.XmlConfigurator(Watch = true)] 属性。

通常在单独的文件中配置 log4net 更容易。创建文件 log4net.config 并将您的属性更改为:

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config", Watch = true)]

删除 web.config 中的部分。

关于c# - log4net 配置 - 找不到部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17468841/

相关文章:

Python 日志记录 setLevel 不记录日志

ruby-on-rails - 禁用 IP 地址记录 Rails

c# - 自定义配置部分

android - 如何获取 NDK 应用程序中写入的 "printf"消息?

c# - 如何在 Winforms 应用程序中维护用户登录详细信息?

c# - 如何使用 JavaScript 为复选框事件使表的 "tr"可见?

c# - 如何过滤嵌套关系

c# - winform控件中文本中的一个粗体字

c# - 如何让 OpenApi Generator 正确转换 Dictionary<int, string>?

c# - 过滤 DataGridView Winforms