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