sentry-cli工具也可用于发送事件。如果要使用它,则需要导出SENTRY_DSN环境变量并将其指向您的项目的DSN:
$ export SENTRY_DSN=https://<key>:<secret>@sentry.io/<project>
完成后,您可以开始使用sentry-cli send-event命令。
一、基本事件
对于基本消息事件,您只需提供--message或-m参数来发送消息:
$ sentry-cli send-event -m "Hello from Sentry"
这将向哨兵发送一条消息并将其记录为事件。除此之外,它还会发送有关您正在运行sentry-cli的计算机的基本信息。您可以多次提供-m以发送多行:
$ sentry-cli send-event -m "Hello from Sentry" -m "This is more text"
二、带参数的事件
此外,您可以在消息中使用%s作为占位符,并使用-a参数填充它。这有助于审核它们,因为所有消息都会自动分组在一起:
$ sentry-cli send-event -m "Hello %s!" -a "Joe"
$ sentry-cli send-event -m "Hello %s!" -a "Peter"
三、发送面包屑
您还可以将日志文件传递给send-event命令,该命令将作为breadcrumbs进行解析和发送。最后100个项目将被发送:
$ sentry-cli send-event -m “task failed” –logfile error.log
日志文件可以采用各种格式。如果你想自己创建一个,你可以沿着这些方向做一些事情:
$ echo "$(date +%c) This is a log record" >> output.log
$ echo "$(date +%c) This is another record" >> output.log
$ sentry-cli send-event -m "Demo Event" --logfile output.log
$ rm output.log
四、额外数据
可以使用-e参数将额外数据附加为KEY:VALUE。例如,您可以发送一些键值对,如下所示:
$ sentry-cli send-event -m "a failure" -e task:create-user -e object:42
同样,标签可以使用相同的格式与-t一起发送:
$ sentry-cli send-event -m "a failure" -t task:create-user
五、指定版本
可以使用--release参数发送版本。如果您在git存储库中使用sentry-cli,则会自动获取默认版本。
六、Bash钩子
对于bash脚本,您还可以使用sentry-cli bash挂钩启用自动错误发送。这将启用set -e并将为未处理的错误发送sentry事件。
对此的限制是:
- sentry-cli实际上只有在启用set -e时才会起作用(默认情况下它会为你启用)。
- sentry-cli注册一个EXIT和ERR陷阱。
用法:
#!/bin/bash
export SENTRY_DSN=https://<key>:<secret>@sentry.io/<project>
eval "$(sentry-cli bash-hook)"
或者,您可以使用.sentryclirc文件等其他机制来配置dsn。