如何登录masstransit?

时间:2016-05-06 20:18:25

标签: nlog masstransit

我做了大量的研究(在官方文档,github的问题页面和stackoverflow)关于如何在masstransit中记录数据(记住日志功能与任何日志实现分离),甚至在masstransit的github着名样本上作为 Sample-ShoppingWeb Sample-Booking Starbucks 我无法理解如何在应用程序上记录数据......

我安装了 MassTransit.NLog ,并将我的公交车配置如下:

var bus = BusConfigurator.ConfigureBus((cfg, host) =>
{
    ...
    cfg.ReceiveEndpoint(host, RabbitMqConstants.SagaQueue, e =>
    {
        cfg.UseNLog();
...   

...并查看NLog教程https://github.com/NLog/NLog/wiki/Tutorial我安装了包 NLog.Config (具有nuget依赖关系 NLog NLog.Schema ) 并在我的项目中添加了文件 NLog.config 和** NLog.xsd * ... ... 问题不在NLog本身,但我不明白如何在masstransit上记录信息......

在我的OrderStateMachine课程中,我执行以下操作

...
Initially(
When(RegisterOrder)
    .Then(context =>
    {
        var log = Logger.Get("logfile");
        log.Info(context);
        log.InfoFormat("Register Order {0}", "register");
        throw new ArgumentException("Test for monitoring sagas");
        log.Error(context);
        //throw new ArgumentException("Test for monitoring sagas");
...

我不知道我应该使用哪种类和方法(在masstransit上)......

1 个答案:

答案 0 :(得分:1)

我理解,只需将NLog工厂实例作为参数传递如下:cfg.UseNLog(new LogFactory());Logger.Get("logfile");返回一个Masstransit的抽象类(根据所需的日志级别调用方法)。

伟大的抽象,如此简单,如此酷!