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