gpt4 book ai didi

c# - CaSTLe 温莎依赖注入(inject) : Use the caller type as a parameter

转载 作者:行者123 更新时间:2023-11-30 16:30:23 25 4
gpt4 key购买 nike

在温莎城堡容器中注册了以下类:

namespace MyNamespace
{
class Foo : IFoo
{
public Foo(ILog log)
{
_log = log;
}
...
}
}

ILog 是一个 log4net 记录器,目前是这样注册的:

Component.For<ILog>().UseFactoryMethod(
() => LogManager.GetLogger(Assembly.GetCallingAssembly().FullName));

我想创建一个名为调用类型(在本例中为"MyNamespace.Foo")而不是调用程序集的记录器。有没有办法做到这一点,除了使用反射来玩堆栈帧?

最佳答案

温莎城堡伐木设施可以满足您的需求。它已经与 log4net 或 NLog 集成(参见:how to set up logging facility)。

如果您仍然好奇,可以检查源代码以了解它究竟是如何完成的。看看 log4net Integration sourcelogging facility源代码,尤其是在 LoggerResolver 类(执行名称解析)。

关于c# - CaSTLe 温莎依赖注入(inject) : Use the caller type as a parameter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5740108/

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