gpt4 book ai didi

c# - 如何使用 Unity 2.0 注入(inject) Log4Net ILog 实现

转载 作者:IT王子 更新时间:2023-10-29 04:38:19 33 4
gpt4 key购买 nike

最终这与设置 log4Net 有关,但通常问题不在于特定于日志记录。

一般来说,我想弄清楚的是如何在 Microsoft Unity 2.0 中做一些与 CaSTLe.Facilities.Logging.LoggingFacility 相同的事情。即能够声明对记录器的依赖关系,并使用要注入(inject)的对象的类型初始化记录器。

本着千言万语的精神,这里是我需要的:

class Logger_IOC_Tests
{
//[Test]
public void Logger_should_be_initialized_with_the_type_of_the_object_that_is_using_it()
{
var container = new UnityContainer();
/* Configuration Magic probably involiving registering either
* a custom IDependencyResolverPolicy or BuilderStrategy
* goes here...
*/
container.RegisterType<LoggerUser>(new ContainerControlledLifetimeManager());

var user = container.Resolve<LoggerUser>();

Assert.True(user.Logger.GetUserType() == user.GetType());
}
}

interface ILogger
{
Type GetUserType();
}

class Logger : ILogger
{
private readonly Type _type;

public Logger(Type type)
{
_type = type;
}

public Type GetUserType()
{
return _type;
}
}

class LoggerUser
{
public readonly ILogger Logger;

public LoggerUser(ILogger logger)
{
Logger = logger;
}
}

最佳答案

我不知道这是否是您要找的,但几个月前我看到了它,当我看到您的问题时让我想起了它。我没有使用过 Unity,所以我无法真正比​​较您发布的内容和链接中的内容。希望对你有用:

http://davidkeaveny.blogspot.com/2011/03/unity-and-log4net.html

关于c# - 如何使用 Unity 2.0 注入(inject) Log4Net ILog 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6846342/

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