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