我在C#中有ASP.NET MVC5项目。 使用StructureMap& StructureMap.Net4(v:3.1.1.0)和log4net(v:1.2.15.0)和StructureMap.Web(v:1.0.0.0)。
在StructureMap中 - 我需要在我的旧项目中使用LogManager的调用类实例
x.For<ILog>().Singleton().Use(c => LogManager.GetLogger(c.ParentType ?? c.BuildStack.Current.ConcreteType));
但是在这个SM中没有 BuildStack
For<ILog>().Use(c => LogManager.GetLogger(this.GetType())).Singleton();
我只在日志文件中输入了这个类名
7 Project.DependencyResolution.DefaultRegistry INFO 10/10/2016 15:26:51 - Test
但是我从HomeController这样称呼它
_log.Info("Test");
我和HomeController一起登录日志:
7 Project.HomeController INFO 10/10/2016 15:26:51 - Test
是否有任何解决方案(除了在每个调用的类中创建一个实例log4net)?如何将log4net与StructureMap一起使用,并在SM使用语句中获得正确的类名?
非常感谢您的帮助