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