首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ninject 2、日志记录和WebForms

Ninject 2、日志记录和WebForms
EN

Stack Overflow用户
提问于 2010-02-27 09:27:36
回答 1查看 1.5K关注 0票数 3

官方发布的Nexject2不再包含对用于WebForms、MasterPages等的IoC的特定于WebForms的功能的引用。它现在被分离为插件/扩展;在本例中是http://github.com/idavis/ninject.web扩展。然而,我的问题是存在对log4net (或NLog)的依赖,我找不到任何关于如何将其配置为与我当前的log4net配置集成或将其完全删除的文档(例如,将日志设置为空,这样我就不会有两个log4net配置在运行)。

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

有没有人能给我指出解决这个问题的最佳方法的正确方向,这样我就仍然可以轻松地将WebForms集成在一起,而不会运行无关的日志记录服务?或者不用担心Global.asax上的以下内容:

代码语言:javascript
复制
    protected override IKernel CreateKernel()
    {
        IKernel kernel =
        new StandardKernel(new SomeMyModule(), new Log4netModule());
        return kernel;
    }

我目前正在通过以下方式在global.asax中开始我的log4net配置

代码语言:javascript
复制
 private readonly static ILog Log = LogManager.GetLogger(typeof(Global));:
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-02-28 01:00:03

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

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

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

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

  • 从5个类中删除了对该ILogger成员的引用
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2345878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档