Crate worker_cf_sentry
source ·Expand description
Crate for sending errors or events to Sentry.
If not done already, create a Sentry project and Cloudflare Access credentials to access the Sentry API:
- Create a Sentry project: Create a new Project.
- Create an AM Ticket (example Create Service token for sentry-access.cfdata.org for Eth Resolver) for issuing an Access Token using the SOP - Adding an Access Service Token to a Cloudflare Account Managed by Terraform CFAccounts (cfdata.org, cfops.it, etc).
Once the Sentry and creds created, configure your worker:
Configure wrangler.toml:
[vars]
SENTRY_DSN = ...
SENTRY_CF_ACCESS_CLIENT_ID = ...
Add Cloudflare Access’ secret token:
ⓘ
wrangler secret put SENTRY_CF_ACCESS_CLIENT_SECRETAdd the npm/yarn dependency:
ⓘ
yarn add toucan-jsFinally, use the Sentry client in worker using workers-rs:
#[event(fetch)]
pub async fn main(req: Request, env: Env, _ctx: worker::Context) -> Result<Response> {
let sentry_config = sentry::SentryConfig::from_env(&env)?;
let sentry = sentry::SentryClient::new(sentry_config, &req, &ctx);
sentry.set_tag("colo", "LHR");
sentry.capture_message("this is a message");
sentry.capture_exception(&Err("this is a error"));
todo!();
}Structs
- Sentry client
- Sentry configuration