有没有办法让 Logger 有两个实现是 triggert ?
我想要一个用于事件日志和一个控制台记录器。
在我的代码中,我只使用注册的 ILog。
这是我当前设置记录器的代码
LogManager.LogFactory = new ServiceStack.Logging.EventLog.EventLogFactory("QAServer", "Foo");
我是否必须创建一个新工厂作为一种装饰器,还是有更简单的方法可以做到这一点?
有没有办法让 Logger 有两个实现是 triggert ?
我想要一个用于事件日志和一个控制台记录器。
在我的代码中,我只使用注册的 ILog。
这是我当前设置记录器的代码
LogManager.LogFactory = new ServiceStack.Logging.EventLog.EventLogFactory("QAServer", "Foo");
我是否必须创建一个新工厂作为一种装饰器,还是有更简单的方法可以做到这一点?
是的,我相信最简单的方法是两个创建一个新的 Logger 和它自己的 LogFactory 来解决它。实现 ILog 和 ILogFactory 接口非常容易。
您的新记录器可以是组合的 EventLogger 和控制台记录器的精简包装器。
看一眼
src/ServiceStack.Logging.EventLog/EventLogFactory.cs src/ServiceStack.Interfaces/Logging/Support/Logging/ConsoleLogger.cs
控制台记录器位于主 ServiceStack 项目中,而 EventLogger 位于 ServiceStack.Logging 项目中。