[{"data":1,"prerenderedAt":2011},["ShallowReactive",2],{"navigation_docs":3,"-integrate-adapters-cloud-sentry":439,"-integrate-adapters-cloud-sentry-surround":2006},[4,30,80,245,353,408],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Start","\u002Fstart","1.start",[9,14,19,24],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fstart\u002Fintroduction","1.start\u002F1.introduction","i-lucide-info",{"title":15,"path":16,"stem":17,"icon":18},"Why start with evlog","\u002Fstart\u002Fwhy-evlog","1.start\u002F2.why-evlog","i-lucide-rocket",{"title":20,"path":21,"stem":22,"icon":23},"Installation","\u002Fstart\u002Finstallation","1.start\u002F3.installation","i-lucide-download",{"title":25,"path":26,"stem":27,"icon":28},"Quick Start","\u002Fstart\u002Fquick-start","1.start\u002F4.quick-start","i-lucide-zap",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"Learn","\u002Flearn","2.learn",[35,40,45,50,55,60,65,70,75],{"title":36,"path":37,"stem":38,"icon":39},"Overview","\u002Flearn\u002Foverview","2.learn\u002F0.overview","i-lucide-list",{"title":41,"path":42,"stem":43,"icon":44},"Simple Logging","\u002Flearn\u002Fsimple-logging","2.learn\u002F1.simple-logging","i-lucide-terminal",{"title":46,"path":47,"stem":48,"icon":49},"Wide Events","\u002Flearn\u002Fwide-events","2.learn\u002F2.wide-events","i-lucide-layers",{"title":51,"path":52,"stem":53,"icon":54},"Structured Errors","\u002Flearn\u002Fstructured-errors","2.learn\u002F3.structured-errors","i-lucide-shield-alert",{"title":56,"path":57,"stem":58,"icon":59},"Lifecycle","\u002Flearn\u002Flifecycle","2.learn\u002F4.lifecycle","i-lucide-arrow-right-left",{"title":61,"path":62,"stem":63,"icon":64},"Sampling","\u002Flearn\u002Fsampling","2.learn\u002F5.sampling","i-lucide-filter",{"title":66,"path":67,"stem":68,"icon":69},"Auto-Redaction","\u002Flearn\u002Fredaction","2.learn\u002F6.redaction","i-lucide-eye-off",{"title":71,"path":72,"stem":73,"icon":74},"Typed Fields","\u002Flearn\u002Ftyped-fields","2.learn\u002F7.typed-fields","i-simple-icons-typescript",{"title":76,"path":77,"stem":78,"icon":79},"Catalogs","\u002Flearn\u002Fcatalogs","2.learn\u002F8.catalogs","i-lucide-book-open",{"title":81,"path":82,"stem":83,"children":84,"page":29},"Integrate","\u002Fintegrate","3.integrate",[85,89,157],{"title":36,"path":86,"stem":87,"icon":88},"\u002Fintegrate\u002Foverview","3.integrate\u002F0.overview","i-lucide-plug",{"title":90,"path":91,"stem":92,"children":93,"page":29},"Adapters","\u002Fintegrate\u002Fadapters","3.integrate\u002Fadapters",[94,97,137],{"title":36,"path":95,"stem":96,"icon":39},"\u002Fintegrate\u002Fadapters\u002Foverview","3.integrate\u002Fadapters\u002F01.overview",{"title":98,"path":99,"stem":100,"children":101,"page":29},"Cloud","\u002Fintegrate\u002Fadapters\u002Fcloud","3.integrate\u002Fadapters\u002Fcloud",[102,107,112,117,122,127,132],{"title":103,"path":104,"stem":105,"icon":106},"Axiom","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Faxiom","3.integrate\u002Fadapters\u002Fcloud\u002F01.axiom","i-custom-axiom",{"title":108,"path":109,"stem":110,"icon":111},"OTLP","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fotlp","3.integrate\u002Fadapters\u002Fcloud\u002F02.otlp","i-simple-icons-opentelemetry",{"title":113,"path":114,"stem":115,"icon":116},"PostHog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fposthog","3.integrate\u002Fadapters\u002Fcloud\u002F03.posthog","i-simple-icons-posthog",{"title":118,"path":119,"stem":120,"icon":121},"Sentry","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fsentry","3.integrate\u002Fadapters\u002Fcloud\u002F04.sentry","i-simple-icons-sentry",{"title":123,"path":124,"stem":125,"icon":126},"Better Stack","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fbetter-stack","3.integrate\u002Fadapters\u002Fcloud\u002F05.better-stack","i-simple-icons-betterstack",{"title":128,"path":129,"stem":130,"icon":131},"Datadog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fdatadog","3.integrate\u002Fadapters\u002Fcloud\u002F06.datadog","i-simple-icons-datadog",{"title":133,"path":134,"stem":135,"icon":136},"HyperDX","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fhyperdx","3.integrate\u002Fadapters\u002Fcloud\u002F07.hyperdx","i-custom-hyperdx",{"title":138,"path":139,"stem":140,"children":141,"page":29},"Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fself-hosted","3.integrate\u002Fadapters\u002Fself-hosted",[142,147,152],{"title":143,"path":144,"stem":145,"icon":146},"File System","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Ffs","3.integrate\u002Fadapters\u002Fself-hosted\u002F01.fs","i-lucide-hard-drive",{"title":148,"path":149,"stem":150,"icon":151},"NuxtHub","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fnuxthub","3.integrate\u002Fadapters\u002Fself-hosted\u002F02.nuxthub","i-simple-icons-nuxt",{"title":153,"path":154,"stem":155,"icon":156},"Memory","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fmemory","3.integrate\u002Fadapters\u002Fself-hosted\u002F03.memory","i-lucide-cpu",{"title":158,"path":159,"stem":160,"children":161,"page":29},"Frameworks","\u002Fintegrate\u002Fframeworks","3.integrate\u002Fframeworks",[162,166,171,176,181,186,191,196,201,206,211,216,221,226,230,235,240],{"title":36,"path":163,"stem":164,"icon":165},"\u002Fintegrate\u002Fframeworks\u002Foverview","3.integrate\u002Fframeworks\u002F00.overview","i-lucide-layout-grid",{"title":167,"path":168,"stem":169,"icon":170},"Nuxt","\u002Fintegrate\u002Fframeworks\u002Fnuxt","3.integrate\u002Fframeworks\u002F01.nuxt","i-simple-icons-nuxtdotjs",{"title":172,"path":173,"stem":174,"icon":175},"Next.js","\u002Fintegrate\u002Fframeworks\u002Fnextjs","3.integrate\u002Fframeworks\u002F02.nextjs","i-simple-icons-nextdotjs",{"title":177,"path":178,"stem":179,"icon":180},"SvelteKit","\u002Fintegrate\u002Fframeworks\u002Fsveltekit","3.integrate\u002Fframeworks\u002F03.sveltekit","i-simple-icons-svelte",{"title":182,"path":183,"stem":184,"icon":185},"Nitro","\u002Fintegrate\u002Fframeworks\u002Fnitro","3.integrate\u002Fframeworks\u002F04.nitro","i-custom-nitro",{"title":187,"path":188,"stem":189,"icon":190},"TanStack Start","\u002Fintegrate\u002Fframeworks\u002Ftanstack-start","3.integrate\u002Fframeworks\u002F05.tanstack-start","i-custom-tanstack",{"title":192,"path":193,"stem":194,"icon":195},"NestJS","\u002Fintegrate\u002Fframeworks\u002Fnestjs","3.integrate\u002Fframeworks\u002F06.nestjs","i-simple-icons-nestjs",{"title":197,"path":198,"stem":199,"icon":200},"Express","\u002Fintegrate\u002Fframeworks\u002Fexpress","3.integrate\u002Fframeworks\u002F07.express","i-simple-icons-express",{"title":202,"path":203,"stem":204,"icon":205},"Hono","\u002Fintegrate\u002Fframeworks\u002Fhono","3.integrate\u002Fframeworks\u002F08.hono","i-simple-icons-hono",{"title":207,"path":208,"stem":209,"icon":210},"Fastify","\u002Fintegrate\u002Fframeworks\u002Ffastify","3.integrate\u002Fframeworks\u002F09.fastify","i-simple-icons-fastify",{"title":212,"path":213,"stem":214,"icon":215},"Elysia","\u002Fintegrate\u002Fframeworks\u002Felysia","3.integrate\u002Fframeworks\u002F10.elysia","i-custom-elysia",{"title":217,"path":218,"stem":219,"icon":220},"React Router","\u002Fintegrate\u002Fframeworks\u002Freact-router","3.integrate\u002Fframeworks\u002F11.react-router","i-custom-reactrouter",{"title":222,"path":223,"stem":224,"icon":225},"Cloudflare Workers","\u002Fintegrate\u002Fframeworks\u002Fcloudflare-workers","3.integrate\u002Fframeworks\u002F12.cloudflare-workers","i-simple-icons-cloudflare",{"title":227,"path":228,"stem":229,"icon":74},"Standalone","\u002Fintegrate\u002Fframeworks\u002Fstandalone","3.integrate\u002Fframeworks\u002F13.standalone",{"title":231,"path":232,"stem":233,"icon":234},"Astro","\u002Fintegrate\u002Fframeworks\u002Fastro","3.integrate\u002Fframeworks\u002F14.astro","i-simple-icons-astro",{"title":236,"path":237,"stem":238,"icon":239},"oRPC","\u002Fintegrate\u002Fframeworks\u002Forpc","3.integrate\u002Fframeworks\u002F15.orpc","i-lucide-network",{"title":241,"path":242,"stem":243,"icon":244},"AWS Lambda","\u002Fintegrate\u002Fframeworks\u002Faws-lambda","3.integrate\u002Fframeworks\u002F16.aws-lambda","i-custom-lambda",{"title":246,"path":247,"stem":248,"children":249,"page":29},"Use Cases","\u002Fuse-cases","4.use-cases",[250,254,259,288,316,348],{"title":36,"path":251,"stem":252,"icon":253},"\u002Fuse-cases\u002Foverview","4.use-cases\u002F0.overview","i-lucide-list-checks",{"title":255,"path":256,"stem":257,"icon":258},"Client Logging","\u002Fuse-cases\u002Fclient-logging","4.use-cases\u002F1.client-logging","i-lucide-monitor",{"title":260,"icon":261,"path":262,"stem":263,"children":264,"page":29},"AI SDK","i-simple-icons-vercel","\u002Fuse-cases\u002Fai-sdk","4.use-cases\u002F2.ai-sdk",[265,268,273,278,283],{"title":36,"path":266,"stem":267,"icon":39},"\u002Fuse-cases\u002Fai-sdk\u002Foverview","4.use-cases\u002F2.ai-sdk\u002F01.overview",{"title":269,"path":270,"stem":271,"icon":272},"Usage","\u002Fuse-cases\u002Fai-sdk\u002Fusage","4.use-cases\u002F2.ai-sdk\u002F02.usage","i-lucide-code",{"title":274,"path":275,"stem":276,"icon":277},"Options","\u002Fuse-cases\u002Fai-sdk\u002Foptions","4.use-cases\u002F2.ai-sdk\u002F03.options","i-lucide-sliders",{"title":279,"path":280,"stem":281,"icon":282},"Metadata","\u002Fuse-cases\u002Fai-sdk\u002Fmetadata","4.use-cases\u002F2.ai-sdk\u002F04.metadata","i-lucide-database",{"title":284,"path":285,"stem":286,"icon":287},"Telemetry","\u002Fuse-cases\u002Fai-sdk\u002Ftelemetry","4.use-cases\u002F2.ai-sdk\u002F05.telemetry","i-lucide-activity",{"title":289,"icon":290,"path":291,"stem":292,"children":293,"page":29},"Better Auth","i-simple-icons-betterauth","\u002Fuse-cases\u002Fbetter-auth","4.use-cases\u002F3.better-auth",[294,297,302,307,311],{"title":36,"path":295,"stem":296,"icon":39},"\u002Fuse-cases\u002Fbetter-auth\u002Foverview","4.use-cases\u002F3.better-auth\u002F01.overview",{"title":298,"path":299,"stem":300,"icon":301},"Identify User","\u002Fuse-cases\u002Fbetter-auth\u002Fidentify-user","4.use-cases\u002F3.better-auth\u002F02.identify-user","i-lucide-user-check",{"title":303,"path":304,"stem":305,"icon":306},"Middleware","\u002Fuse-cases\u002Fbetter-auth\u002Fmiddleware","4.use-cases\u002F3.better-auth\u002F03.middleware","i-lucide-shield",{"title":308,"path":309,"stem":310,"icon":258},"Client Sync","\u002Fuse-cases\u002Fbetter-auth\u002Fclient-sync","4.use-cases\u002F3.better-auth\u002F04.client-sync",{"title":312,"path":313,"stem":314,"icon":315},"Performance","\u002Fuse-cases\u002Fbetter-auth\u002Fperformance","4.use-cases\u002F3.better-auth\u002F05.performance","i-lucide-gauge",{"title":317,"icon":318,"path":319,"stem":320,"children":321,"page":29},"Audit Logs","i-lucide-shield-check","\u002Fuse-cases\u002Faudit","4.use-cases\u002F4.audit",[322,325,330,335,340,344],{"title":36,"path":323,"stem":324,"icon":39},"\u002Fuse-cases\u002Faudit\u002Foverview","4.use-cases\u002F4.audit\u002F01.overview",{"title":326,"path":327,"stem":328,"icon":329},"Schema","\u002Fuse-cases\u002Faudit\u002Fschema","4.use-cases\u002F4.audit\u002F02.schema","i-lucide-file-text",{"title":331,"path":332,"stem":333,"icon":334},"Recording","\u002Fuse-cases\u002Faudit\u002Frecording","4.use-cases\u002F4.audit\u002F03.recording","i-lucide-pen-line",{"title":336,"path":337,"stem":338,"icon":339},"Drains","\u002Fuse-cases\u002Faudit\u002Fpipeline","4.use-cases\u002F4.audit\u002F04.pipeline","i-lucide-link",{"title":341,"path":342,"stem":343,"icon":318},"Compliance","\u002Fuse-cases\u002Faudit\u002Fcompliance","4.use-cases\u002F4.audit\u002F05.compliance",{"title":345,"path":346,"stem":347,"icon":79},"Recipes","\u002Fuse-cases\u002Faudit\u002Frecipes","4.use-cases\u002F4.audit\u002F06.recipes",{"title":349,"path":350,"stem":351,"icon":352},"Enrichers","\u002Fuse-cases\u002Fenrichers","4.use-cases\u002F5.enrichers","i-lucide-sparkles",{"title":354,"path":355,"stem":356,"children":357,"page":29},"Extend","\u002Fextend","5.extend",[358,362,367,372,377,381,385,389,393,398,403],{"title":36,"path":359,"stem":360,"icon":361},"\u002Fextend\u002Foverview","5.extend\u002F0.overview","i-lucide-blocks",{"title":363,"path":364,"stem":365,"icon":366},"Stream","\u002Fextend\u002Fstream","5.extend\u002F1.stream","i-lucide-radio-tower",{"title":368,"path":369,"stem":370,"icon":371},"Custom framework","\u002Fextend\u002Fcustom-framework","5.extend\u002F10.custom-framework","i-lucide-puzzle",{"title":373,"path":374,"stem":375,"icon":376},"FS reader","\u002Fextend\u002Ffs-reader","5.extend\u002F2.fs-reader","i-lucide-folder-search",{"title":345,"path":378,"stem":379,"icon":380},"\u002Fextend\u002Fconsumer-recipes","5.extend\u002F3.consumer-recipes","i-lucide-chef-hat",{"title":382,"path":383,"stem":384,"icon":361},"Plugins","\u002Fextend\u002Fplugins","5.extend\u002F4.plugins",{"title":386,"path":387,"stem":388,"icon":352},"Custom enrichers","\u002Fextend\u002Fcustom-enrichers","5.extend\u002F5.custom-enrichers",{"title":390,"path":391,"stem":392,"icon":64},"Tail sampling","\u002Fextend\u002Ftail-sampling","5.extend\u002F6.tail-sampling",{"title":394,"path":395,"stem":396,"icon":397},"Identity headers","\u002Fextend\u002Fidentity-headers","5.extend\u002F7.identity-headers","i-lucide-fingerprint",{"title":399,"path":400,"stem":401,"icon":402},"Custom drains","\u002Fextend\u002Fcustom-drains","5.extend\u002F8.custom-drains","i-lucide-share-2",{"title":404,"path":405,"stem":406,"icon":407},"Drain pipeline","\u002Fextend\u002Fdrain-pipeline","5.extend\u002F9.drain-pipeline","i-lucide-workflow",{"title":409,"path":410,"stem":411,"children":412,"page":29},"Reference","\u002Freference","6.reference",[413,418,421,426,430,435],{"title":414,"path":415,"stem":416,"icon":417},"Configuration","\u002Freference\u002Fconfiguration","6.reference\u002F1.configuration","i-lucide-settings",{"title":312,"path":419,"stem":420,"icon":315},"\u002Freference\u002Fperformance","6.reference\u002F2.performance",{"title":422,"path":423,"stem":424,"icon":425},"Vite Plugin","\u002Freference\u002Fvite-plugin","6.reference\u002F3.vite-plugin","i-custom-vite",{"title":427,"path":428,"stem":429,"icon":318},"Best Practices","\u002Freference\u002Fbest-practices","6.reference\u002F4.best-practices",{"title":431,"path":432,"stem":433,"icon":434},"vs Other Loggers","\u002Freference\u002Fvs-other-loggers","6.reference\u002F5.vs-other-loggers","i-lucide-scale",{"title":436,"path":437,"stem":438,"icon":352},"Agent Skills","\u002Freference\u002Fagent-skills","6.reference\u002F6.agent-skills",{"id":440,"title":441,"body":442,"description":1992,"extension":1993,"links":1994,"meta":2002,"navigation":2003,"path":119,"seo":2004,"stem":120,"__hash__":2005},"docs\u002F3.integrate\u002Fadapters\u002Fcloud\u002F04.sentry.md","Sentry Adapter",{"type":443,"value":444,"toc":1969},"minimark",[445,464,506,510,513,557,560,565,587,591,610,614,1193,1199,1202,1205,1235,1239,1288,1292,1299,1422,1426,1429,1510,1514,1621,1625,1631,1718,1722,1725,1754,1758,1762,1766,1775,1778,1782,1785,1792,1796,1802,1806,1809,1935,1939,1965],[446,447,448,454,455,459,460,463],"p",{},[449,450,118],"a",{"href":451,"rel":452},"https:\u002F\u002Fsentry.io",[453],"nofollow"," is an error tracking and performance monitoring platform. The evlog Sentry adapter sends your wide events as ",[456,457,458],"strong",{},"Sentry Structured Logs",", visible in ",[456,461,462],{},"Explore > Logs"," in the Sentry dashboard with high-cardinality searchable attributes.",[465,466,469,472,494],"prompt",{":actions":467,"description":468,"icon":121},"[\"copy\",\"cursor\",\"windsurf\"]","Add the Sentry drain adapter",[446,470,471],{},"Add the Sentry drain adapter to send evlog wide events to Sentry Logs.",[473,474,475,479,482,485,488,491],"ol",{},[476,477,478],"li",{},"Identify which framework I'm using and follow its evlog integration pattern",[476,480,481],{},"Install evlog if not already installed",[476,483,484],{},"Import createSentryDrain from 'evlog\u002Fsentry'",[476,486,487],{},"Wire createSentryDrain() into my framework's drain configuration",[476,489,490],{},"Set SENTRY_DSN environment variable",[476,492,493],{},"Test by triggering a request and checking Sentry > Explore > Logs",[446,495,496,497,501,502],{},"Adapter docs: ",[449,498,499],{"href":499,"rel":500},"https:\u002F\u002Fwww.evlog.dev\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fsentry",[453],"\nFramework setup: ",[449,503,504],{"href":504,"rel":505},"https:\u002F\u002Fwww.evlog.dev\u002Fintegrate\u002Fframeworks\u002Foverview",[453],[507,508,20],"h2",{"id":509},"installation",[446,511,512],{},"The Sentry adapter comes bundled with evlog:",[514,515,521],"pre",{"className":516,"code":517,"filename":518,"language":519,"meta":520,"style":520},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { createSentryDrain } from 'evlog\u002Fsentry'\n","src\u002Findex.ts","typescript","",[522,523,524],"code",{"__ignoreMap":520},[525,526,529,533,537,541,544,547,550,554],"span",{"class":527,"line":528},"line",1,[525,530,532],{"class":531},"s7zQu","import",[525,534,536],{"class":535},"sMK4o"," {",[525,538,540],{"class":539},"sTEyZ"," createSentryDrain",[525,542,543],{"class":535}," }",[525,545,546],{"class":531}," from",[525,548,549],{"class":535}," '",[525,551,553],{"class":552},"sfazB","evlog\u002Fsentry",[525,555,556],{"class":535},"'\n",[507,558,25],{"id":559},"quick-start",[561,562,564],"h3",{"id":563},"_1-get-your-sentry-dsn","1. Get your Sentry DSN",[473,566,567,574,577],{},[476,568,569,570],{},"Create a ",[449,571,573],{"href":451,"rel":572},[453],"Sentry account",[476,575,576],{},"Create a new project (Node.js or JavaScript)",[476,578,579,580],{},"Find your DSN in ",[456,581,582,583,586],{},"Settings > Projects > ",[525,584,585],{},"Your Project"," > Client Keys (DSN)",[561,588,590],{"id":589},"_2-set-environment-variables","2. Set environment variables",[514,592,597],{"className":593,"code":594,"filename":595,"language":596,"meta":520,"style":520},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","SENTRY_DSN=https:\u002F\u002Fyour-public-key@o0.ingest.sentry.io\u002Fyour-project-id\n",".env","bash",[522,598,599],{"__ignoreMap":520},[525,600,601,604,607],{"class":527,"line":528},[525,602,603],{"class":539},"SENTRY_DSN",[525,605,606],{"class":535},"=",[525,608,609],{"class":552},"https:\u002F\u002Fyour-public-key@o0.ingest.sentry.io\u002Fyour-project-id\n",[561,611,613],{"id":612},"_3-wire-the-drain-to-your-framework","3. Wire the drain to your framework",[615,616,617,732,863,925,979,1038,1092,1145],"code-group",{},[514,618,621],{"className":516,"code":619,"filename":620,"language":519,"meta":520,"style":520},"\u002F\u002F server\u002Fplugins\u002Fevlog-drain.ts\nimport { createSentryDrain } from 'evlog\u002Fsentry'\n\nexport default defineNitroPlugin((nitroApp) => {\n  nitroApp.hooks.hook('evlog:drain', createSentryDrain())\n})\n","Nuxt \u002F Nitro",[522,622,623,629,648,655,687,723],{"__ignoreMap":520},[525,624,625],{"class":527,"line":528},[525,626,628],{"class":627},"sHwdD","\u002F\u002F server\u002Fplugins\u002Fevlog-drain.ts\n",[525,630,632,634,636,638,640,642,644,646],{"class":527,"line":631},2,[525,633,532],{"class":531},[525,635,536],{"class":535},[525,637,540],{"class":539},[525,639,543],{"class":535},[525,641,546],{"class":531},[525,643,549],{"class":535},[525,645,553],{"class":552},[525,647,556],{"class":535},[525,649,651],{"class":527,"line":650},3,[525,652,654],{"emptyLinePlaceholder":653},true,"\n",[525,656,658,661,664,668,671,673,677,680,684],{"class":527,"line":657},4,[525,659,660],{"class":531},"export",[525,662,663],{"class":531}," default",[525,665,667],{"class":666},"s2Zo4"," defineNitroPlugin",[525,669,670],{"class":539},"(",[525,672,670],{"class":535},[525,674,676],{"class":675},"sHdIc","nitroApp",[525,678,679],{"class":535},")",[525,681,683],{"class":682},"spNyl"," =>",[525,685,686],{"class":535}," {\n",[525,688,690,693,696,699,701,704,707,710,713,715,718,720],{"class":527,"line":689},5,[525,691,692],{"class":539},"  nitroApp",[525,694,695],{"class":535},".",[525,697,698],{"class":539},"hooks",[525,700,695],{"class":535},[525,702,703],{"class":666},"hook",[525,705,670],{"class":706},"swJcz",[525,708,709],{"class":535},"'",[525,711,712],{"class":552},"evlog:drain",[525,714,709],{"class":535},[525,716,717],{"class":535},",",[525,719,540],{"class":666},[525,721,722],{"class":706},"())\n",[525,724,726,729],{"class":527,"line":725},6,[525,727,728],{"class":535},"}",[525,730,731],{"class":539},")\n",[514,733,735],{"className":516,"code":734,"filename":172,"language":519,"meta":520,"style":520},"\u002F\u002F lib\u002Fevlog.ts\nimport { createEvlog } from 'evlog\u002Fnext'\nimport { createSentryDrain } from 'evlog\u002Fsentry'\n\nexport const { withEvlog, useLogger, log, createError } = createEvlog({\n  service: 'my-app',\n  drain: createSentryDrain(),\n})\n",[522,736,737,742,762,780,784,823,841,856],{"__ignoreMap":520},[525,738,739],{"class":527,"line":528},[525,740,741],{"class":627},"\u002F\u002F lib\u002Fevlog.ts\n",[525,743,744,746,748,751,753,755,757,760],{"class":527,"line":631},[525,745,532],{"class":531},[525,747,536],{"class":535},[525,749,750],{"class":539}," createEvlog",[525,752,543],{"class":535},[525,754,546],{"class":531},[525,756,549],{"class":535},[525,758,759],{"class":552},"evlog\u002Fnext",[525,761,556],{"class":535},[525,763,764,766,768,770,772,774,776,778],{"class":527,"line":650},[525,765,532],{"class":531},[525,767,536],{"class":535},[525,769,540],{"class":539},[525,771,543],{"class":535},[525,773,546],{"class":531},[525,775,549],{"class":535},[525,777,553],{"class":552},[525,779,556],{"class":535},[525,781,782],{"class":527,"line":657},[525,783,654],{"emptyLinePlaceholder":653},[525,785,786,788,791,793,796,798,801,803,806,808,811,813,816,818,820],{"class":527,"line":689},[525,787,660],{"class":531},[525,789,790],{"class":682}," const",[525,792,536],{"class":535},[525,794,795],{"class":539}," withEvlog",[525,797,717],{"class":535},[525,799,800],{"class":539}," useLogger",[525,802,717],{"class":535},[525,804,805],{"class":539}," log",[525,807,717],{"class":535},[525,809,810],{"class":539}," createError ",[525,812,728],{"class":535},[525,814,815],{"class":535}," =",[525,817,750],{"class":666},[525,819,670],{"class":539},[525,821,822],{"class":535},"{\n",[525,824,825,828,831,833,836,838],{"class":527,"line":725},[525,826,827],{"class":706},"  service",[525,829,830],{"class":535},":",[525,832,549],{"class":535},[525,834,835],{"class":552},"my-app",[525,837,709],{"class":535},[525,839,840],{"class":535},",\n",[525,842,844,847,849,851,854],{"class":527,"line":843},7,[525,845,846],{"class":706},"  drain",[525,848,830],{"class":535},[525,850,540],{"class":666},[525,852,853],{"class":539},"()",[525,855,840],{"class":535},[525,857,859,861],{"class":527,"line":858},8,[525,860,728],{"class":535},[525,862,731],{"class":539},[514,864,866],{"className":516,"code":865,"filename":202,"language":519,"meta":520,"style":520},"import { createSentryDrain } from 'evlog\u002Fsentry'\n\napp.use(evlog({ drain: createSentryDrain() }))\n",[522,867,868,886,890],{"__ignoreMap":520},[525,869,870,872,874,876,878,880,882,884],{"class":527,"line":528},[525,871,532],{"class":531},[525,873,536],{"class":535},[525,875,540],{"class":539},[525,877,543],{"class":535},[525,879,546],{"class":531},[525,881,549],{"class":535},[525,883,553],{"class":552},[525,885,556],{"class":535},[525,887,888],{"class":527,"line":631},[525,889,654],{"emptyLinePlaceholder":653},[525,891,892,895,897,900,902,905,907,910,913,915,917,920,922],{"class":527,"line":650},[525,893,894],{"class":539},"app",[525,896,695],{"class":535},[525,898,899],{"class":666},"use",[525,901,670],{"class":539},[525,903,904],{"class":666},"evlog",[525,906,670],{"class":539},[525,908,909],{"class":535},"{",[525,911,912],{"class":706}," drain",[525,914,830],{"class":535},[525,916,540],{"class":666},[525,918,919],{"class":539},"() ",[525,921,728],{"class":535},[525,923,924],{"class":539},"))\n",[514,926,927],{"className":516,"code":865,"filename":197,"language":519,"meta":520,"style":520},[522,928,929,947,951],{"__ignoreMap":520},[525,930,931,933,935,937,939,941,943,945],{"class":527,"line":528},[525,932,532],{"class":531},[525,934,536],{"class":535},[525,936,540],{"class":539},[525,938,543],{"class":535},[525,940,546],{"class":531},[525,942,549],{"class":535},[525,944,553],{"class":552},[525,946,556],{"class":535},[525,948,949],{"class":527,"line":631},[525,950,654],{"emptyLinePlaceholder":653},[525,952,953,955,957,959,961,963,965,967,969,971,973,975,977],{"class":527,"line":650},[525,954,894],{"class":539},[525,956,695],{"class":535},[525,958,899],{"class":666},[525,960,670],{"class":539},[525,962,904],{"class":666},[525,964,670],{"class":539},[525,966,909],{"class":535},[525,968,912],{"class":706},[525,970,830],{"class":535},[525,972,540],{"class":666},[525,974,919],{"class":539},[525,976,728],{"class":535},[525,978,924],{"class":539},[514,980,982],{"className":516,"code":981,"filename":207,"language":519,"meta":520,"style":520},"import { createSentryDrain } from 'evlog\u002Fsentry'\n\nawait app.register(evlog, { drain: createSentryDrain() })\n",[522,983,984,1002,1006],{"__ignoreMap":520},[525,985,986,988,990,992,994,996,998,1000],{"class":527,"line":528},[525,987,532],{"class":531},[525,989,536],{"class":535},[525,991,540],{"class":539},[525,993,543],{"class":535},[525,995,546],{"class":531},[525,997,549],{"class":535},[525,999,553],{"class":552},[525,1001,556],{"class":535},[525,1003,1004],{"class":527,"line":631},[525,1005,654],{"emptyLinePlaceholder":653},[525,1007,1008,1011,1014,1016,1019,1022,1024,1026,1028,1030,1032,1034,1036],{"class":527,"line":650},[525,1009,1010],{"class":531},"await",[525,1012,1013],{"class":539}," app",[525,1015,695],{"class":535},[525,1017,1018],{"class":666},"register",[525,1020,1021],{"class":539},"(evlog",[525,1023,717],{"class":535},[525,1025,536],{"class":535},[525,1027,912],{"class":706},[525,1029,830],{"class":535},[525,1031,540],{"class":666},[525,1033,919],{"class":539},[525,1035,728],{"class":535},[525,1037,731],{"class":539},[514,1039,1040],{"className":516,"code":865,"filename":212,"language":519,"meta":520,"style":520},[522,1041,1042,1060,1064],{"__ignoreMap":520},[525,1043,1044,1046,1048,1050,1052,1054,1056,1058],{"class":527,"line":528},[525,1045,532],{"class":531},[525,1047,536],{"class":535},[525,1049,540],{"class":539},[525,1051,543],{"class":535},[525,1053,546],{"class":531},[525,1055,549],{"class":535},[525,1057,553],{"class":552},[525,1059,556],{"class":535},[525,1061,1062],{"class":527,"line":631},[525,1063,654],{"emptyLinePlaceholder":653},[525,1065,1066,1068,1070,1072,1074,1076,1078,1080,1082,1084,1086,1088,1090],{"class":527,"line":650},[525,1067,894],{"class":539},[525,1069,695],{"class":535},[525,1071,899],{"class":666},[525,1073,670],{"class":539},[525,1075,904],{"class":666},[525,1077,670],{"class":539},[525,1079,909],{"class":535},[525,1081,912],{"class":706},[525,1083,830],{"class":535},[525,1085,540],{"class":666},[525,1087,919],{"class":539},[525,1089,728],{"class":535},[525,1091,924],{"class":539},[514,1093,1095],{"className":516,"code":1094,"filename":192,"language":519,"meta":520,"style":520},"import { createSentryDrain } from 'evlog\u002Fsentry'\n\nEvlogModule.forRoot({ drain: createSentryDrain() })\n",[522,1096,1097,1115,1119],{"__ignoreMap":520},[525,1098,1099,1101,1103,1105,1107,1109,1111,1113],{"class":527,"line":528},[525,1100,532],{"class":531},[525,1102,536],{"class":535},[525,1104,540],{"class":539},[525,1106,543],{"class":535},[525,1108,546],{"class":531},[525,1110,549],{"class":535},[525,1112,553],{"class":552},[525,1114,556],{"class":535},[525,1116,1117],{"class":527,"line":631},[525,1118,654],{"emptyLinePlaceholder":653},[525,1120,1121,1124,1126,1129,1131,1133,1135,1137,1139,1141,1143],{"class":527,"line":650},[525,1122,1123],{"class":539},"EvlogModule",[525,1125,695],{"class":535},[525,1127,1128],{"class":666},"forRoot",[525,1130,670],{"class":539},[525,1132,909],{"class":535},[525,1134,912],{"class":706},[525,1136,830],{"class":535},[525,1138,540],{"class":666},[525,1140,919],{"class":539},[525,1142,728],{"class":535},[525,1144,731],{"class":539},[514,1146,1148],{"className":516,"code":1147,"filename":227,"language":519,"meta":520,"style":520},"import { createSentryDrain } from 'evlog\u002Fsentry'\n\ninitLogger({ drain: createSentryDrain() })\n",[522,1149,1150,1168,1172],{"__ignoreMap":520},[525,1151,1152,1154,1156,1158,1160,1162,1164,1166],{"class":527,"line":528},[525,1153,532],{"class":531},[525,1155,536],{"class":535},[525,1157,540],{"class":539},[525,1159,543],{"class":535},[525,1161,546],{"class":531},[525,1163,549],{"class":535},[525,1165,553],{"class":552},[525,1167,556],{"class":535},[525,1169,1170],{"class":527,"line":631},[525,1171,654],{"emptyLinePlaceholder":653},[525,1173,1174,1177,1179,1181,1183,1185,1187,1189,1191],{"class":527,"line":650},[525,1175,1176],{"class":666},"initLogger",[525,1178,670],{"class":539},[525,1180,909],{"class":535},[525,1182,912],{"class":706},[525,1184,830],{"class":535},[525,1186,540],{"class":666},[525,1188,919],{"class":539},[525,1190,728],{"class":535},[525,1192,731],{"class":539},[446,1194,1195,1196,1198],{},"That's it! Your logs will now appear in ",[456,1197,462],{}," in Sentry.",[507,1200,414],{"id":1201},"configuration",[446,1203,1204],{},"The adapter reads configuration from multiple sources (highest priority first):",[473,1206,1207,1216,1226],{},[476,1208,1209,1212,1213],{},[456,1210,1211],{},"Overrides"," passed to ",[522,1214,1215],{},"createSentryDrain()",[476,1217,1218,1221,1222,1225],{},[456,1219,1220],{},"Runtime config"," at ",[522,1223,1224],{},"runtimeConfig.sentry"," (Nuxt\u002FNitro only)",[476,1227,1228,1231,1232,679],{},[456,1229,1230],{},"Environment variables"," (",[522,1233,1234],{},"SENTRY_*",[561,1236,1238],{"id":1237},"environment-variables","Environment Variables",[1240,1241,1242,1255],"table",{},[1243,1244,1245],"thead",{},[1246,1247,1248,1252],"tr",{},[1249,1250,1251],"th",{},"Variable",[1249,1253,1254],{},"Description",[1256,1257,1258,1268,1278],"tbody",{},[1246,1259,1260,1265],{},[1261,1262,1263],"td",{},[522,1264,603],{},[1261,1266,1267],{},"Sentry DSN (required)",[1246,1269,1270,1275],{},[1261,1271,1272],{},[522,1273,1274],{},"SENTRY_ENVIRONMENT",[1261,1276,1277],{},"Environment name override",[1246,1279,1280,1285],{},[1261,1281,1282],{},[522,1283,1284],{},"SENTRY_RELEASE",[1261,1286,1287],{},"Release version override",[561,1289,1291],{"id":1290},"runtime-config-nuxt-only","Runtime Config (Nuxt only)",[446,1293,1294,1295,1298],{},"Configure via ",[522,1296,1297],{},"nuxt.config.ts"," for type-safe configuration:",[514,1300,1302],{"className":516,"code":1301,"filename":1297,"language":519,"meta":520,"style":520},"export default defineNuxtConfig({\n  modules: ['evlog\u002Fnuxt'],\n  evlog: {\n    sentry: {\n      dsn: '', \u002F\u002F Set via SENTRY_DSN\n      environment: 'production',\n      release: '1.0.0',\n    },\n  },\n})\n",[522,1303,1304,1317,1339,1348,1357,1372,1388,1404,1409,1415],{"__ignoreMap":520},[525,1305,1306,1308,1310,1313,1315],{"class":527,"line":528},[525,1307,660],{"class":531},[525,1309,663],{"class":531},[525,1311,1312],{"class":666}," defineNuxtConfig",[525,1314,670],{"class":539},[525,1316,822],{"class":535},[525,1318,1319,1322,1324,1327,1329,1332,1334,1337],{"class":527,"line":631},[525,1320,1321],{"class":706},"  modules",[525,1323,830],{"class":535},[525,1325,1326],{"class":539}," [",[525,1328,709],{"class":535},[525,1330,1331],{"class":552},"evlog\u002Fnuxt",[525,1333,709],{"class":535},[525,1335,1336],{"class":539},"]",[525,1338,840],{"class":535},[525,1340,1341,1344,1346],{"class":527,"line":650},[525,1342,1343],{"class":706},"  evlog",[525,1345,830],{"class":535},[525,1347,686],{"class":535},[525,1349,1350,1353,1355],{"class":527,"line":657},[525,1351,1352],{"class":706},"    sentry",[525,1354,830],{"class":535},[525,1356,686],{"class":535},[525,1358,1359,1362,1364,1367,1369],{"class":527,"line":689},[525,1360,1361],{"class":706},"      dsn",[525,1363,830],{"class":535},[525,1365,1366],{"class":535}," ''",[525,1368,717],{"class":535},[525,1370,1371],{"class":627}," \u002F\u002F Set via SENTRY_DSN\n",[525,1373,1374,1377,1379,1381,1384,1386],{"class":527,"line":725},[525,1375,1376],{"class":706},"      environment",[525,1378,830],{"class":535},[525,1380,549],{"class":535},[525,1382,1383],{"class":552},"production",[525,1385,709],{"class":535},[525,1387,840],{"class":535},[525,1389,1390,1393,1395,1397,1400,1402],{"class":527,"line":843},[525,1391,1392],{"class":706},"      release",[525,1394,830],{"class":535},[525,1396,549],{"class":535},[525,1398,1399],{"class":552},"1.0.0",[525,1401,709],{"class":535},[525,1403,840],{"class":535},[525,1405,1406],{"class":527,"line":858},[525,1407,1408],{"class":535},"    },\n",[525,1410,1412],{"class":527,"line":1411},9,[525,1413,1414],{"class":535},"  },\n",[525,1416,1418,1420],{"class":527,"line":1417},10,[525,1419,728],{"class":535},[525,1421,731],{"class":539},[561,1423,1425],{"id":1424},"override-options","Override Options",[446,1427,1428],{},"Pass options directly to override any configuration:",[514,1430,1433],{"className":516,"code":1431,"filename":1432,"language":519,"meta":520,"style":520},"const drain = createSentryDrain({\n  dsn: 'https:\u002F\u002Fkey@o0.ingest.sentry.io\u002F123',\n  tags: { team: 'backend' },\n  timeout: 10000,\n})\n","server\u002Fplugins\u002Fevlog-drain.ts",[522,1434,1435,1451,1467,1491,1504],{"__ignoreMap":520},[525,1436,1437,1440,1443,1445,1447,1449],{"class":527,"line":528},[525,1438,1439],{"class":682},"const",[525,1441,1442],{"class":539}," drain ",[525,1444,606],{"class":535},[525,1446,540],{"class":666},[525,1448,670],{"class":539},[525,1450,822],{"class":535},[525,1452,1453,1456,1458,1460,1463,1465],{"class":527,"line":631},[525,1454,1455],{"class":706},"  dsn",[525,1457,830],{"class":535},[525,1459,549],{"class":535},[525,1461,1462],{"class":552},"https:\u002F\u002Fkey@o0.ingest.sentry.io\u002F123",[525,1464,709],{"class":535},[525,1466,840],{"class":535},[525,1468,1469,1472,1474,1476,1479,1481,1483,1486,1488],{"class":527,"line":650},[525,1470,1471],{"class":706},"  tags",[525,1473,830],{"class":535},[525,1475,536],{"class":535},[525,1477,1478],{"class":706}," team",[525,1480,830],{"class":535},[525,1482,549],{"class":535},[525,1484,1485],{"class":552},"backend",[525,1487,709],{"class":535},[525,1489,1490],{"class":535}," },\n",[525,1492,1493,1496,1498,1502],{"class":527,"line":657},[525,1494,1495],{"class":706},"  timeout",[525,1497,830],{"class":535},[525,1499,1501],{"class":1500},"sbssI"," 10000",[525,1503,840],{"class":535},[525,1505,1506,1508],{"class":527,"line":689},[525,1507,728],{"class":535},[525,1509,731],{"class":539},[561,1511,1513],{"id":1512},"full-configuration-reference","Full Configuration Reference",[1240,1515,1516,1531],{},[1243,1517,1518],{},[1246,1519,1520,1523,1526,1529],{},[1249,1521,1522],{},"Option",[1249,1524,1525],{},"Type",[1249,1527,1528],{},"Default",[1249,1530,1254],{},[1256,1532,1533,1550,1567,1584,1601],{},[1246,1534,1535,1540,1545,1548],{},[1261,1536,1537],{},[522,1538,1539],{},"dsn",[1261,1541,1542],{},[522,1543,1544],{},"string",[1261,1546,1547],{},"-",[1261,1549,1267],{},[1246,1551,1552,1557,1561,1564],{},[1261,1553,1554],{},[522,1555,1556],{},"environment",[1261,1558,1559],{},[522,1560,1544],{},[1261,1562,1563],{},"Event environment",[1261,1565,1566],{},"Environment name",[1246,1568,1569,1574,1578,1581],{},[1261,1570,1571],{},[522,1572,1573],{},"release",[1261,1575,1576],{},[522,1577,1544],{},[1261,1579,1580],{},"Event version",[1261,1582,1583],{},"Release version",[1246,1585,1586,1591,1596,1598],{},[1261,1587,1588],{},[522,1589,1590],{},"tags",[1261,1592,1593],{},[522,1594,1595],{},"Record\u003Cstring, string>",[1261,1597,1547],{},[1261,1599,1600],{},"Additional attributes to attach",[1246,1602,1603,1608,1613,1618],{},[1261,1604,1605],{},[522,1606,1607],{},"timeout",[1261,1609,1610],{},[522,1611,1612],{},"number",[1261,1614,1615],{},[522,1616,1617],{},"5000",[1261,1619,1620],{},"Request timeout in milliseconds",[507,1622,1624],{"id":1623},"log-transformation","Log Transformation",[446,1626,1627,1628,830],{},"evlog wide events are converted to Sentry Logs using ",[522,1629,1630],{},"toSentryLog()",[1632,1633,1634,1653,1671,1688,1694,1708],"ul",{},[476,1635,1636,1639,1640,1643,1644,1643,1647,1643,1650,679],{},[456,1637,1638],{},"Level mapping",": evlog levels map directly (",[522,1641,1642],{},"debug",", ",[522,1645,1646],{},"info",[522,1648,1649],{},"warn",[522,1651,1652],{},"error",[476,1654,1655,1658,1659,1643,1662,1643,1665,1643,1668,679],{},[456,1656,1657],{},"Severity numbers",": Follow the OpenTelemetry spec (",[522,1660,1661],{},"debug=5",[522,1663,1664],{},"info=9",[522,1666,1667],{},"warn=13",[522,1669,1670],{},"error=17",[476,1672,1673,1676,1677,1643,1680,1683,1684,1687],{},[456,1674,1675],{},"Body",": Derived from the event's ",[522,1678,1679],{},"message",[522,1681,1682],{},"action",", or ",[522,1685,1686],{},"path"," fields (first available)",[476,1689,1690,1693],{},[456,1691,1692],{},"Attributes",": All wide event fields are sent as typed attributes (string, integer, double, boolean). Complex objects are serialized to JSON strings.",[476,1695,1696,1699,1700,1703,1704,1707],{},[456,1697,1698],{},"Sentry attributes",": ",[522,1701,1702],{},"sentry.environment"," and ",[522,1705,1706],{},"sentry.release"," are set automatically",[476,1709,1710,1713,1714,1717],{},[456,1711,1712],{},"Trace ID",": Uses ",[522,1715,1716],{},"event.traceId"," if available, otherwise generates a random one",[507,1719,1721],{"id":1720},"querying-logs-in-sentry","Querying Logs in Sentry",[446,1723,1724],{},"evlog sends wide events as structured logs. In the Sentry dashboard:",[1632,1726,1727,1732,1744],{},[476,1728,1729,1731],{},[456,1730,462],{},": View all evlog wide events with full attribute search",[476,1733,1734,1699,1737,1643,1740,1743],{},[456,1735,1736],{},"Filter by attributes",[522,1738,1739],{},"service:my-app",[522,1741,1742],{},"level:error",", or any wide event field",[476,1745,1746,1749,1750,1753],{},[456,1747,1748],{},"Trace correlation",": Logs are linked to traces via ",[522,1751,1752],{},"trace_id"," for cross-referencing",[1755,1756,1757],"callout",{"color":1646,"icon":13},"Sentry Structured Logs support high-cardinality attributes, making them a great fit for evlog's wide events. Every field in your wide event becomes a searchable attribute in Sentry.",[507,1759,1761],{"id":1760},"troubleshooting","Troubleshooting",[561,1763,1765],{"id":1764},"missing-dsn-error","Missing DSN error",[514,1767,1773],{"className":1768,"code":1770,"filename":1771,"language":1772,"meta":520},[1769],"language-text","[evlog\u002Fsentry] Missing DSN. Set SENTRY_DSN env var or pass to createSentryDrain()\n","Console","text",[522,1774,1770],{"__ignoreMap":520},[446,1776,1777],{},"Make sure your environment variable is set and the server was restarted after adding it.",[561,1779,1781],{"id":1780},"invalid-dsn","Invalid DSN",[446,1783,1784],{},"If the DSN is malformed (missing public key or project ID), the adapter will throw an error. Verify your DSN format:",[514,1786,1790],{"className":1787,"code":1788,"filename":1789,"language":1772,"meta":520},[1769],"https:\u002F\u002F\u003Cpublic-key>@\u003Chost>\u002F\u003Cproject-id>\n","Sentry DSN format",[522,1791,1788],{"__ignoreMap":520},[561,1793,1795],{"id":1794},"_401-unauthorized","401 Unauthorized",[446,1797,1798,1799,695],{},"Your DSN may be revoked or invalid. Generate a new DSN in ",[456,1800,1801],{},"Settings > Projects > Client Keys (DSN)",[507,1803,1805],{"id":1804},"direct-api-usage","Direct API Usage",[446,1807,1808],{},"For advanced use cases, you can use the lower-level functions:",[514,1810,1813],{"className":516,"code":1811,"filename":1812,"language":519,"meta":520,"style":520},"import { sendToSentry, sendBatchToSentry } from 'evlog\u002Fsentry'\n\n\u002F\u002F Send a single event as a Sentry log\nawait sendToSentry(event, {\n  dsn: process.env.SENTRY_DSN!,\n})\n\n\u002F\u002F Send multiple events in one request\nawait sendBatchToSentry(events, {\n  dsn: process.env.SENTRY_DSN!,\n})\n","server\u002Futils\u002Fsentry.ts",[522,1814,1815,1839,1843,1848,1861,1882,1888,1892,1897,1910,1928],{"__ignoreMap":520},[525,1816,1817,1819,1821,1824,1826,1829,1831,1833,1835,1837],{"class":527,"line":528},[525,1818,532],{"class":531},[525,1820,536],{"class":535},[525,1822,1823],{"class":539}," sendToSentry",[525,1825,717],{"class":535},[525,1827,1828],{"class":539}," sendBatchToSentry",[525,1830,543],{"class":535},[525,1832,546],{"class":531},[525,1834,549],{"class":535},[525,1836,553],{"class":552},[525,1838,556],{"class":535},[525,1840,1841],{"class":527,"line":631},[525,1842,654],{"emptyLinePlaceholder":653},[525,1844,1845],{"class":527,"line":650},[525,1846,1847],{"class":627},"\u002F\u002F Send a single event as a Sentry log\n",[525,1849,1850,1852,1854,1857,1859],{"class":527,"line":657},[525,1851,1010],{"class":531},[525,1853,1823],{"class":666},[525,1855,1856],{"class":539},"(event",[525,1858,717],{"class":535},[525,1860,686],{"class":535},[525,1862,1863,1865,1867,1870,1872,1875,1877,1879],{"class":527,"line":689},[525,1864,1455],{"class":706},[525,1866,830],{"class":535},[525,1868,1869],{"class":539}," process",[525,1871,695],{"class":535},[525,1873,1874],{"class":539},"env",[525,1876,695],{"class":535},[525,1878,603],{"class":539},[525,1880,1881],{"class":535},"!,\n",[525,1883,1884,1886],{"class":527,"line":725},[525,1885,728],{"class":535},[525,1887,731],{"class":539},[525,1889,1890],{"class":527,"line":843},[525,1891,654],{"emptyLinePlaceholder":653},[525,1893,1894],{"class":527,"line":858},[525,1895,1896],{"class":627},"\u002F\u002F Send multiple events in one request\n",[525,1898,1899,1901,1903,1906,1908],{"class":527,"line":1411},[525,1900,1010],{"class":531},[525,1902,1828],{"class":666},[525,1904,1905],{"class":539},"(events",[525,1907,717],{"class":535},[525,1909,686],{"class":535},[525,1911,1912,1914,1916,1918,1920,1922,1924,1926],{"class":527,"line":1417},[525,1913,1455],{"class":706},[525,1915,830],{"class":535},[525,1917,1869],{"class":539},[525,1919,695],{"class":535},[525,1921,1874],{"class":539},[525,1923,695],{"class":535},[525,1925,603],{"class":539},[525,1927,1881],{"class":535},[525,1929,1931,1933],{"class":527,"line":1930},11,[525,1932,728],{"class":535},[525,1934,731],{"class":539},[507,1936,1938],{"id":1937},"next-steps","Next Steps",[1632,1940,1941,1947,1953,1959],{},[476,1942,1943,1946],{},[449,1944,1945],{"href":104},"Axiom Adapter"," - Send logs to Axiom for querying and dashboards",[476,1948,1949,1952],{},[449,1950,1951],{"href":109},"OTLP Adapter"," - Send logs via OpenTelemetry Protocol",[476,1954,1955,1958],{},[449,1956,1957],{"href":114},"PostHog Adapter"," - Send logs to PostHog",[476,1960,1961,1964],{},[449,1962,1963],{"href":400},"Custom Adapters"," - Build your own adapter",[1966,1967,1968],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":520,"searchDepth":631,"depth":631,"links":1970},[1971,1972,1977,1983,1984,1985,1990,1991],{"id":509,"depth":631,"text":20},{"id":559,"depth":631,"text":25,"children":1973},[1974,1975,1976],{"id":563,"depth":650,"text":564},{"id":589,"depth":650,"text":590},{"id":612,"depth":650,"text":613},{"id":1201,"depth":631,"text":414,"children":1978},[1979,1980,1981,1982],{"id":1237,"depth":650,"text":1238},{"id":1290,"depth":650,"text":1291},{"id":1424,"depth":650,"text":1425},{"id":1512,"depth":650,"text":1513},{"id":1623,"depth":631,"text":1624},{"id":1720,"depth":631,"text":1721},{"id":1760,"depth":631,"text":1761,"children":1986},[1987,1988,1989],{"id":1764,"depth":650,"text":1765},{"id":1780,"depth":650,"text":1781},{"id":1794,"depth":650,"text":1795},{"id":1804,"depth":631,"text":1805},{"id":1937,"depth":631,"text":1938},"Send structured logs to Sentry Logs for high-cardinality querying and debugging. Zero-config setup with environment variables.","md",[1995,2001],{"label":1996,"icon":1997,"to":451,"target":1998,"color":1999,"variant":2000},"Sentry Dashboard","i-lucide-external-link","_blank","neutral","subtle",{"label":1951,"icon":111,"to":109,"color":1999,"variant":2000},{},{"title":118,"icon":121},{"title":441,"description":1992},"xsXFnIVj6rdSIdYl6NR8UaGRDSuvv6hDfIk_UUsm9gc",[2007,2009],{"title":113,"path":114,"stem":115,"description":2008,"icon":116,"children":-1},"Send wide events to PostHog Logs via OTLP for structured log querying, debugging, and observability in your PostHog dashboard.",{"title":123,"path":124,"stem":125,"description":2010,"icon":126,"children":-1},"Send wide events to Better Stack (formerly Logtail) for log management, alerting, and dashboards. Zero-config setup with environment variables.",1781214278175]