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));

原文地址:https://github.com/EasyNetQ/EasyNetQ/wiki/Logging

posted @ 2017-07-02 16:02  Leo  阅读(1142)  评论(0编辑  收藏  举报