我想配置一个记录到 xUnit 测试输出的记录器,并且应该替换所有ILogger<T>
依赖项。据我所知,解决这个问题的方法是使用带有工厂方法的通用服务。
使用时Microsoft.Extensions.DependencyInjection
,我可以执行以下操作:
services.AddTransient(typeof(ILogger<>),
factory => factory.GetRequiredService<LoggerFactory>().CreateLogger("TestLogger"));
如何使用 LightInject 实现相同的效果?
编辑:我的示例不起作用,因为创建的记录器无法转换为ILogger<T>
. 相反,我在下面发布了我的解决方法作为解决方案。