当前位置: 首页 > 知识库问答 >
问题:

记录来自Cadence工作流和活动的消息的最佳方式是什么?

颛孙高义
2023-03-14

在我的工作流和活动中,我想记录一些消息以进行调试。

我看到了< code >的节奏。GetLogger(ctx)。Info()函数,但是不知道在哪里可以找到日志。

共有1个答案

燕元明
2023-03-14

转到客户端:

您可以在工作流代码中使用以下命令:

cadence.GetLogger(ctx).Info(...)

在活动代码中,您应该使用以下内容:

cadence.GetActivityLogger(ctx).Info(...)

默认情况下,记录器将写入控制台,这对于开发目的可能就足够了。但是,如果您在生产中也需要日志,则应登录到文件。以下是设置您的节奏工作者以执行此操作的方法:

workerOptions := cadence.WorkerOptions{
 Logger: myLogger, 
} 
worker := cadence.NewWorker(service, domain, taskList, workerOptions)

Cadence客户端使用zap作为日志框架。您可以创建zap记录器并根据需要指定日志文件路径。查看zap留档以了解有关配置日志的更多信息。

Java客户

Java客户端使用slf4j进行日志记录。您可以通过调用Workflow来获取记录器实例。getLogger()并在logback中配置它。xml和往常一样。

 类似资料:
  • 当使用像文档建议的那样的信号时: 我可能会遇到以下问题: 我想保证一次处理一个FIFO 我想处理signalWithStart的“赛车状态”,其中信号方法调用得太早 我想安全地重置工作流。重置后,可以在历史早期重新应用信号 我想确保工作流不会在信号处理之前提前完成

  • 我们有一个使用基于cron的调度的工作流程。我们需要支持一个用例来更改cron表达式。 这样做的最佳做法是什么?

  • 我有一个由多台机器组成的网络,我正在使用cadence go客户端。 1号机需要登记活动 机器2需要注册工作流程。 机器3需要启动以启动工作流。 cadence前端服务在另一台机器上。 如何使用 go 客户端执行此操作?此外,收银机是否仅将工作流/活动保存在内存中?我怎样才能把它们推到节奏服务,以便其他机器也能找到它们。

  • 我需要来自不同Kafka主题的消费者消息, < li >我是否应该为每个主题创建不同的消费者实例,然后根据分区数量启动新的处理线程。或者 < li >我应该从单个消费者实例订阅所有主题,并且应该启动不同的处理线程 谢啦

  • 问题内容: 我正在构建一个基于expressjs的应用程序,我想在其中记录所有事件。我可以找到温斯顿,这似乎很酷。无论如何,我正在寻找一种方法将其连接到我的expressjs应用程序。 我还想要在应用程序内部登录。我的要求不是那么简单,所以我想将所有内容记录在我的应用程序中(不仅是请求)。 我目前的情况: server.js (我想在此级别记录http请求) 路线/something.js con

  • 问题内容: 我刚开始学习Go,并通读现有代码以学习“其他人的做法”。在这种情况下,遍历使用go“工作区”,尤其是与项目依赖关系有关的地方。 在处理各种Go项目时,使用一个或多个Go工作区(即$ GOPATH的定义)的常见(或存在)最佳实践是什么?我应该期望有一个类似于我所有项目的中央代码存储库的Go工作区,还是在我处理这些项目时都明确将其分解并设置$ GOPATH(有点像python) virtu