log4net将不会从app.config读取

log4net将不会从app.config读取,log4net,log4net-configuration,Log4net,Log4net Configuration,我为log4net配置了两个相同的项目。一个项目记录良好;但是,另一个根本不记录 未记录日志的项目中的记录器返回IsFatalEnabled=false,IsErrorEnabled=false,iswarnabled=false,IsInforEnabled=false和IsDebugEnabled=false 我已经从一个项目复制并粘贴到另一个项目,完全替换了文件,并尝试删除所有空白 是什么导致一个项目无法从app.config正确读取级别 app.config: Program.cs

我为log4net配置了两个相同的项目。一个项目记录良好;但是,另一个根本不记录

未记录日志的项目中的
记录器
返回
IsFatalEnabled=false
IsErrorEnabled=false
iswarnabled=false
IsInforEnabled=false
IsDebugEnabled=false

我已经从一个项目复制并粘贴到另一个项目,完全替换了文件,并尝试删除所有空白

是什么导致一个项目无法从app.config正确读取级别

app.config:


Program.cs

使用log4net;
班级计划
{
private static readonly ILog Log=LogManager.GetLogger(“SO”);
静态void Main(字符串[]参数)
{
Log.Info(“如此开始”);
}
}

似乎app.config文件未配置为由log4net监视

我在
AssemblyInfo.cs
中添加了以下行,现在已启用日志记录:

[assembly: log4net.Config.XmlConfigurator(Watch = true)]
奇怪,因为我没有将这一行添加到正在工作的项目中

编辑:

看来正在工作的项目毕竟有这条线。我一定忘了

// This will cause log4net to look for a configuration file 
// called [ThisApp].exe.config in the application base 
// directory (i.e. the directory containing [ThisApp].exe) 
// The config file will be watched for changes. 
[assembly: log4net.Config.XmlConfigurator(Watch = true)]

我的解决方案是在程序的启动代码中使用
XmlConfigurator.Configure()
。但是,我的情况不同,我使用Autofac.log4net模块在Autofac容器中注册
ILog
。在本例中,使用
XmlConfiguratorAttribute
(将
Watch
设置为true或false)使记录器未配置。

我的情况大致相同-我将一个项目复制到另一个项目,但使用我的实用程序代码在自定义程序集中“包装”log4net-尽管您提到的魔线在新项目中,我的自定义程序集的AssemblyInfo.cs中缺少它(我的印象是所有配置都必须在包含入口点的程序集中完成-错误),我必须为VB.NET应用程序执行此操作。。。语法:以前没有使用过log4net,我只是花了3个小时试图弄明白为什么它不能工作,即使设置看起来是正确的,然后才登陆这个平台。非常感谢。此外,在任何库中,这些模糊的配置设置都是我不顾一切想离开编程行业的原因…:)