Log4Net错误:“无法找到配置节log4net” AdoNetAppender

用户名

我做了一个仅用于测试的新项目。我试图用来Log4Net写入我的数据库。但是我遇到了这个错误。我认为我的配置中缺少一些东西。

log4net:ERROR 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" />

AssemblyInfo.cs

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

日志配置

<!--This is the root of your config file-->
<configuration>
  <!-- Level 0 -->
  <!--This specifies what the section name is-->
  <configSections>
    <!-- Level 1 -->
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
    <!-- Level 2 -->
  </configSections>
  <log4net>
    <!-- Level 1 -->
    <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
      <bufferSize value="1" />
      <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      <connectionString value="Data Source=xxx;initial Catalog=xxx; Integrated Security=True;"/>
      <commandText value="INSERT INTO dbo.Log ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" />
      <parameter>
        <parameterName value="@log_date"/>
        <dbType value="DateTime"/>
        <layout type="log4net.Layout.RawTimeStampLayout"/>
      </parameter>
      <parameter>
        <parameterName value="@thread"/>
        <dbType value="String"/>
        <size value="255"/>
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%thread"/>
        </layout>
      </parameter>
      <parameter>
        <parameterName value="@log_level"/>
        <dbType value="String"/>
        <size value="50"/>
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%level"/>
        </layout>
      </parameter>
      <parameter>
        <parameterName value="@logger"/>
        <dbType value="String"/>
        <size value="255"/>
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%logger"/>
        </layout>
      </parameter>
      <parameter>
        <parameterName value="@message"/>
        <dbType value="String"/>
        <size value="4000"/>
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%message"/>
        </layout>
      </parameter>
      <parameter>
        <parameterName value="@exception"/>
        <dbType value="String"/>
        <size value="2000"/>
        <layout type="log4net.Layout.ExceptionLayout"/>
      </parameter>
    </appender>
    <root>
      <level value="ALL"/>
      <appender-ref ref="AdoNetAppender"/>
    </root>
    <logger>
      <!-- Level 2 -->
      <level />
      <!-- Level 3 -->
      <appender-ref />
      <!-- Level 3 -->
    </logger>
  </log4net>
</configuration>

Form1.cs

    private static readonly log4net.ILog log = log4net.LogManager.GetLogger (System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
    private void simpleButton1_Click(object sender, EventArgs e)
    {
        log4net.Config.XmlConfigurator.Configure();
        log.Info("Info logging");
        log.Debug("DADASDASD");
    }
侯赛因·扎瓦维|

您的log4net conf应该如下所示,因为您的配置位于独立文件中,因此请勿在log4net节点的顶部放置任何内容:

<log4net>
    <!-- Level 1 -->
    <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
      <bufferSize value="1" />
      <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      <connectionString value="Data Source=xxx;initial Catalog=xxx; Integrated Security=True;"/>
      <commandText value="INSERT INTO dbo.Log ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" />
      <parameter>
        <parameterName value="@log_date"/>
        <dbType value="DateTime"/>
        <layout type="log4net.Layout.RawTimeStampLayout"/>
      </parameter>
      <parameter>
        <parameterName value="@thread"/>
        <dbType value="String"/>
        <size value="255"/>
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%thread"/>
        </layout>
      </parameter>
      <parameter>
        <parameterName value="@log_level"/>
        <dbType value="String"/>
        <size value="50"/>
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%level"/>
        </layout>
      </parameter>
      <parameter>
        <parameterName value="@logger"/>
        <dbType value="String"/>
        <size value="255"/>
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%logger"/>
        </layout>
      </parameter>
      <parameter>
        <parameterName value="@message"/>
        <dbType value="String"/>
        <size value="4000"/>
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%message"/>
        </layout>
      </parameter>
      <parameter>
        <parameterName value="@exception"/>
        <dbType value="String"/>
        <size value="2000"/>
        <layout type="log4net.Layout.ExceptionLayout"/>
      </parameter>
    </appender>
    <root>
      <level value="ALL"/>
      <appender-ref ref="AdoNetAppender"/>
    </root>
    <logger>
      <!-- Level 2 -->
      <level />
      <!-- Level 3 -->
      <appender-ref />
      <!-- Level 3 -->
    </logger>
  </log4net>

如果仍然遇到问题,请尝试按以下方式加载conf:

XmlConfigurator.Configure(new FileInfo("PATH\Logging.config")

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用log4net的adonetappender登录到redshift

来自分类Dev

log4net连接类型在AdoNetAppender中无效

来自分类Dev

有关log4net的AdoNetAppender的问题

来自分类Dev

log4net AdoNetAppender 缺少默认参数

来自分类Dev

Log4Net AdoNetAppender-截断表/删除旧记录/限制数据库大小

来自分类Dev

在具有log4net的自定义AdoNetAppender中使用不同的ConnectionString

来自分类Dev

Log4net adoNetAppender剂量插入批量记录事件

来自分类Dev

log4net AdoNetAppender在数据库中插入“ Null”字符串而不是null

来自分类Dev

无法识别的配置节log4net

来自分类Dev

Log4Net-适用于sqlite的AdoNetAppender无法插入

来自分类Dev

无法加载Log4Net配置

来自分类Dev

无法正确配置log4net

来自分类Dev

log4net.Appender.AdoNetAppender连接类型Oracle.ManagedDataAccess.Client

来自分类Dev

log4net的RollingFileAppender最低配置?

来自分类Dev

发生 log4net 错误

来自分类Dev

log4net:错误无法创建 appender [RollingLogFileAppender]

来自分类Dev

log4net:ERROR找不到配置部分“ log4net”

来自分类Dev

log4net:ERROR找不到配置部分“ log4net”

来自分类Dev

log4net实时配置更改无效

来自分类Dev

添加log4net配置时发生异常

来自分类Dev

在多个项目中共享log4net配置

来自分类Dev

配置log4net以允许存储每个dll的日志

来自分类Dev

log4net跨平台XML配置

来自分类Dev

添加log4net配置时出现CORS问题

来自分类Dev

Log4Net XML配置需要ILoggerRepository

来自分类Dev

在log4net配置中使用“环境”值

来自分类Dev

需要了解Log4Net配置部分的WebForm

来自分类Dev

如何知道log4net是否记录了错误

来自分类Dev

为什么Log4Net不写错误日志?