使用aws-flow记录到外部服务

时间:2017-03-22 16:51:53

标签: ruby amazon-web-services logging

我正在使用aws-flow与亚马逊的Simple Workflow Server进行交互,我希望将日志记录设置为外部源(PaperTrail)。

我已将$logger设置为使用PaperTrail,然后将其传递到我用来开始执行的客户端;

client = Aws::SWF::Client.new(region: 'eu-west-1', logger: $logger)
client.start_workflow_execution({
    domain: domain,
    workflow_id: ...,
    workflow_type: {
      name: "...",
      version: ...
    },
    task_list: {
      name: "..."
    }
  })

这成功记录了客户端已启动,但未记录工作流或活动内部的操作。

通过阅读文档和this SO answer,您似乎需要在创建新活动时指定记录器,但我看不到如何执行此操作。

主要工作流使用activity_client选择它需要的活动,并且调用的活动看起来像;

class MyActivity
  extend AWS::Flow::Activities
  activity :my_activity do {
   default_task_list: '...',
   version: ...,
   default_task_schedule_to_start_timeout: 60,
   default_task_start_to_close_timeout: 60,
   exponential_retry: { maximum_attempts: 2 }
}

我无法在此设置中看到您可以添加记录器。

非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

结果是aws-flow doesn't support logging

在问题上有一些关于它的聊天,并且有PR似乎可以解决问题。

根据我的需要,我只是将项目分开(在撰写本文时尚未在2年内更新),并为我做了相关更改。