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