4-EasyNetQ之Logging(黄亮翻译)
EasyNetQ提供了一个Logger接口 IEasyNetQLogger:
public interface IEasyNetQLogger
{
void DebugWrite(string format,params object[] args);
void InfoWrite(string format, params object[] args);
void ErrorWrite(string format, params object[] args);
void ErrorWrite(Exception exception);
}
Logging 默认是关闭的,NullLogger作为IEasyNetQLogger的具体实现被注册进去。
有一个控制台Logger(ConsoleLogger)可以用来做测试或调试。但是,它或许不能在生产环境系统中使用。调试级别的Logging是非常详细的,记录了所有信息,会对你的应用有性能上的影响。并且,这可能对于那些在AMQP和EasyNetQ方面没有深入了解的人来说没有多大意义。
你应该提供自己的基于IEasyNetQLogger实现,记录日志信息和错误信息到自己的应用日志中。RabbitHutch.CreateBus方法提供了overloads方法,允许你替换成自己的日志组件。参看Replacing EasyNetQ Components.你可以使用这个方法注册自己的Logger到Bus中。示例如下:
var logger = new MyLogger();// IEasyNetQLogger实现。
var bus = RabbitHutch.CreateBus(“我的连接字符串”,x => x.Register<IEasyNetQLooger>(_ => looger));
如果您喜欢本文,更多文章,欢迎订阅我的微信订阅号:open_dotNET