log4net将不会从app.config读取
我为log4net配置了两个相同的项目。一个项目记录良好;但是,另一个根本不记录 未记录日志的项目中的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
记录器
返回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个小时试图弄明白为什么它不能工作,即使设置看起来是正确的,然后才登陆这个平台。非常感谢。此外,在任何库中,这些模糊的配置设置都是我不顾一切想离开编程行业的原因…:)