gpt4 book ai didi

log4net - Ninject 2、日志记录和 WebForms

转载 作者:行者123 更新时间:2023-12-02 00:41:44 24 4
gpt4 key购买 nike

正式发布的 Ninject 2 不再包含对 WebForms、MasterPages 等 IoC 的 WebForms 特定功能的引用。它现在被分离成插件/扩展;在这种情况下是 http://github.com/idavis/ninject.web延期。然而,我的问题是依赖于 log4net(或 NLog),我找不到任何关于如何配置它以与我当前的 log4net 配置集成或完全删除它的文档(即将日志记录设置为 null,所以我不不可能有两个 log4net 配置在运行)。

http://markmail.org/message/7iv7nltanz6ve4ga#query:Error%20activating%20ILoggerFactory%20ninject.web+page:1+mid:6o4q6ee2js2k4gfp+state:results引用具有相同问题的其他人,但同样,没有关于如何处理它的真实文档。我已经查看了所有内容的来源,一定遗漏了一些明显的东西。

任何人都可以指出正确的方向以找到处理此问题的最佳方法,以便我仍然可以轻松地将 Ninject 与 WebForms 集成,但不会运行无关的日志记录服务吗?或者不用担心 Global.asax 上的以下内容:

    protected override IKernel CreateKernel()
{
IKernel kernel =
new StandardKernel(new SomeMyModule(), new Log4netModule());
return kernel;
}

我目前正在通过

在 global.asax 中启动我的 log4net 配置
 private readonly static ILog Log = LogManager.GetLogger(typeof(Global));:

最佳答案

虽然 Ninject.Web 具有 ILogger 属性,但它不会记录任何内容。

如果您想完全禁用 Ninject.Extensions.Logging,请创建并绑定(bind)一个从所有方法返回 null 的 ILoggerFactory 实现。

或者,如果您想使用 log4net 启用它,请从 ninject.org 获取 Ninject.Extensions.Logging并从您的项目中引用 Ninject.Extensions.Logging.Log4net。它将由 Ninject 2.0 自动加载。

如果您从源代码构建 Ninject.Web,您可以通过以下方式删除日志扩展:

  • 删除对该程序集的引用
  • 从拥有它的 5 个类中删除 ILogger 成员

关于log4net - Ninject 2、日志记录和 WebForms,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2345878/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com