You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

log4net配置报错:无法找到log4net配置段的排查与解决

解决log4net配置报错:找不到log4net配置节的问题

问题现象

log4net:ERROR XmlConfigurator: Failed to find configuration section 'log4net' in the application's .config file. Check your .config file for the and elements. The configuration section should look like:

配置场景:

  • log4net.config放置在共享项目中,Build Action设为Embedded resource,Copy to Output Directory设为Copy always
  • AssemblyInfo.cs中配置了程序集属性:[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config")]

调用log4net.Config.XmlConfigurator.Configure()时触发上述报错,但使用log4net.Config.XmlConfigurator.Configure(new FileInfo("log4net.config"))可正常运行。曾尝试以下操作但无效:

  • 移除log4net.config外层的<configuration>标签
  • 简化log4net配置内容
  • 将log4net.config迁移到主项目中

解决方案

  1. 删除AssemblyInfo.cs中的[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config")]属性
  2. 在程序入口方法(如Main、标记[STAThread]的方法)中添加以下代码:
log4net.Config.XmlConfigurator.Configure(new FileInfo("log4net.config"));

原因分析

程序集级别的XmlConfigurator属性默认优先从应用程序主配置文件(如app.config/web.config)读取log4net配置节,即便指定了ConfigFile参数,在共享项目配置文件的场景下,属性的加载时机或路径解析逻辑可能出现异常,无法正确识别独立的log4net.config文件。而在入口方法显式调用带FileInfo参数的Configure方法,能直接指定配置文件路径,绕开程序集属性的自动加载逻辑,确保配置文件被正确读取。

内容的提问来源于stack exchange,提问作者Tabs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 01:12:49