首页 > 解决方案 > 从 Cadence 工作流程和活动记录消息的最佳方式是什么?

问题描述

在我的工作流程和活动中,我想记录一些消息以用于调试目的。

我看到了这个cadence.GetLogger(ctx).Info()功能,但不知道在哪里可以找到日志。

标签: cadence-workflow

解决方案


去客户端:

您可以在工作流代码中使用以下内容:

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

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

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

默认情况下,记录器将写入控制台,这可能足以满足开发目的。但是,如果您也需要生产中的日志,则应该登录到文件。以下是如何设置您的 cadence 工作人员来执行此操作:

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

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

Java 客户端

Java 客户端slf4j用于记录。您可以像往常一样通过调用Workflow.getLogger()和配置它来获取记录器实例。logback.xml


推荐阅读