我试图实现我自己的ILogger版本,它将记录果园错误。这应该覆盖Orchard正在使用的当前空记录器。
我创建了我的实现。在this answer之后,我创建了一个ILoggerFactory的实现,它返回我的ILogger实现。
public ILogger CreateLogger(Type type)
{
return new LoggerService();
}
我还注册了ILoggerFactory和ILogger:
builder.RegisterType<LoggerFactory>()
.As<ILoggerFactory>().InstancePerLifetimeScope();
builder.RegisterType<LoggerService>()
.As<ILogger>().InstancePerDependency();
并且压制了依赖:
[OrchardSuppressDependency("Orchard.Logging.LoggingModule")]
但是我的记录器服务在任何时候都没有被击中。
欢迎任何建议!
此外,似乎两个autofac注册模块都被击中,暗示LoggingModule没有被抑制。
此处提交了一个解决此问题的补丁:https://orchard.codeplex.com/workitem/18037
但目前尚不清楚该项目的状态。