C#MVC5 - StructureMap& log4net - BuildStack.Current.ConcreteType

时间:2016-10-10 14:24:52

标签: c# asp.net log4net structuremap

我在C#中有A​​SP.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使用语句中获得正确的类名?

非常感谢您的帮助

0 个答案:

没有答案