C# log4net,过滤器关闭,不输出
我肯定我以前用过这个过滤器,但是。。。我在过滤器名称空间中有一个不输出的_log.debug(“whatever”),它的级别为debug,过滤器为off(即,accept on match=true) 我在这样的类中定义了一个记录器,它是过滤器中使用的命名空间的一部分:C# log4net,过滤器关闭,不输出,c#,debugging,log4net,C#,Debugging,Log4net,我肯定我以前用过这个过滤器,但是。。。我在过滤器名称空间中有一个不输出的_log.debug(“whatever”),它的级别为debug,过滤器为off(即,accept on match=true) 我在这样的类中定义了一个记录器,它是过滤器中使用的命名空间的一部分: private static readonly ILog _logger = LogManager.GetLogger(typeof(IEntityWithTypedId<>)); private sta
private static readonly ILog _logger = LogManager.GetLogger(typeof(IEntityWithTypedId<>));
private static readonly ILog\u logger=LogManager.GetLogger(typeof(IEntityWithTypedId));
关于如何找出我没有看到任何东西的原因以及如何修复它,有什么想法吗
<log4net>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<filter type="log4net.Filter.LoggerMatchFilter">
<loggerToMatch value="Smack.Core.Lib.DomainSuperTypes.EntityImpl" />
<acceptOnMatch value="true" />
</filter>
...
</appender>
<root>
<appender-ref ref="ConsoleAppender"/>
<level value="DEBUG"/>
</root>
</log4net>
...
更新
我确实在做一些愚蠢的事情;我已经在一个新的项目中,我还没有添加对log4net的引用
不过这是个好消息,因为它仍然不能正常工作。但是,它不是过滤器,因为当从不同的项目运行时,它的工作方式与预期完全相同。添加watch=true程序集属性也没有帮助
这是另外一件愚蠢而明显的事情(比如没有对log4net的引用!),但我还没有看到它
断然的
我没有看到的输出是从依赖项目中的记录器到我添加的新项目。该解决方案有多个项目,它们都通过符号链接共享同一app.config,这就是为什么我希望新项目中的工作方式与其他项目相同。但它当然没有
直到我在新项目中实际添加了一个记录器!现在一切都神奇地工作了,所以我想这就是原因(如果是的话,不能说这真的是一个好的log4net功能)。您定义了XMLConfigurator watcher吗?这指示log4net读取log4net配置
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
您是否定义了XMLConfigurator监视程序?这指示log4net读取log4net配置
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
卸下过滤器,然后重试。卸下过滤器,然后重试。@mrtentju。您的建议确实让我意识到我缺少了对log4net的引用,请参阅我的上次更新。但这个新项目还没有开始。Cheers@mrtentju. 您的建议确实让我意识到我缺少了对log4net的引用,请参阅我的上次更新。但这个新项目还没有开始。干杯您在哪里调用这行代码=>static readonly ILog\u logger=LogManager.GetLogger(typeof(IEntityWithTypedId))?在一个同名的类中,尽管您只是发现了其他东西。它不应该是接口,所以我去掉了前面的“I”。但是仍然没有报酬,你在哪里调用这行代码=>static readonly ILog\u logger=LogManager.GetLogger(typeof(IEntityWithTypedId))?在一个同名的类中,尽管您只是发现了其他东西。它不应该是接口,所以我去掉了前面的“I”。但是仍然没有支付污垢…你在app.config的配置部分有log4net吗(可能只是发布完整配置)你在app.config的配置部分有log4net吗(可能只是发布完整配置)