cadence-workflow - 从 Cadence 工作流程和活动记录消息的最佳方式是什么?
问题描述
在我的工作流程和活动中,我想记录一些消息以用于调试目的。
我看到了这个cadence.GetLogger(ctx).Info()
功能,但不知道在哪里可以找到日志。
解决方案
去客户端:
您可以在工作流代码中使用以下内容:
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
推荐阅读
- bash - 如何使用bash删除s3中的多个文件?
- python - 将两列中的数据保存到两个列表中
- arrays - 如何将我的 pfx 文件转换为 byte[] 以用于 API 管理?
- node.js - Node.js 暴力预防
- python - 通过批处理运行 Python,不同的 Python.exe 爱好?
- r - 在 R 中执行具有挑战性的水平点图,显示 Min、Max、Mean 和 StD 值
- javascript - 提交带有附件的表单还是 JS 和 HTML 格式?
- javascript - Javascript 创建 iFrame dom innerHTML
- amazon-web-services - AWS API Gateway Swagger 导出不导出模型
- python - Pygame - 无法循环加载图像。无循环工作