官方发布的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上的以下内容:
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));:发布于 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,可以通过以下方法删除日志记录扩展:
https://stackoverflow.com/questions/2345878
复制相似问题