[{"data":1,"prerenderedAt":2023},["ShallowReactive",2],{"navigation_docs":3,"-integrate-adapters-cloud-sentry":429,"-integrate-adapters-cloud-sentry-surround":2018},[4,30,80,235,343,398],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Start","\u002Fstart","1.start",[9,14,19,24],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fstart\u002Fintroduction","1.start\u002F1.introduction","i-lucide-info",{"title":15,"path":16,"stem":17,"icon":18},"Why start with evlog","\u002Fstart\u002Fwhy-evlog","1.start\u002F2.why-evlog","i-lucide-rocket",{"title":20,"path":21,"stem":22,"icon":23},"Installation","\u002Fstart\u002Finstallation","1.start\u002F3.installation","i-lucide-download",{"title":25,"path":26,"stem":27,"icon":28},"Quick Start","\u002Fstart\u002Fquick-start","1.start\u002F4.quick-start","i-lucide-zap",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"Learn","\u002Flearn","2.learn",[35,40,45,50,55,60,65,70,75],{"title":36,"path":37,"stem":38,"icon":39},"Overview","\u002Flearn\u002Foverview","2.learn\u002F0.overview","i-lucide-list",{"title":41,"path":42,"stem":43,"icon":44},"Simple Logging","\u002Flearn\u002Fsimple-logging","2.learn\u002F1.simple-logging","i-lucide-terminal",{"title":46,"path":47,"stem":48,"icon":49},"Wide Events","\u002Flearn\u002Fwide-events","2.learn\u002F2.wide-events","i-lucide-layers",{"title":51,"path":52,"stem":53,"icon":54},"Structured Errors","\u002Flearn\u002Fstructured-errors","2.learn\u002F3.structured-errors","i-lucide-shield-alert",{"title":56,"path":57,"stem":58,"icon":59},"Lifecycle","\u002Flearn\u002Flifecycle","2.learn\u002F4.lifecycle","i-lucide-arrow-right-left",{"title":61,"path":62,"stem":63,"icon":64},"Sampling","\u002Flearn\u002Fsampling","2.learn\u002F5.sampling","i-lucide-filter",{"title":66,"path":67,"stem":68,"icon":69},"Auto-Redaction","\u002Flearn\u002Fredaction","2.learn\u002F6.redaction","i-lucide-eye-off",{"title":71,"path":72,"stem":73,"icon":74},"Typed Fields","\u002Flearn\u002Ftyped-fields","2.learn\u002F7.typed-fields","i-simple-icons-typescript",{"title":76,"path":77,"stem":78,"icon":79},"Catalogs","\u002Flearn\u002Fcatalogs","2.learn\u002F8.catalogs","i-lucide-book-open",{"title":81,"path":82,"stem":83,"children":84,"page":29},"Integrate","\u002Fintegrate","3.integrate",[85,89,152],{"title":36,"path":86,"stem":87,"icon":88},"\u002Fintegrate\u002Foverview","3.integrate\u002F0.overview","i-lucide-plug",{"title":90,"path":91,"stem":92,"children":93,"page":29},"Adapters","\u002Fintegrate\u002Fadapters","3.integrate\u002Fadapters",[94,97,137],{"title":36,"path":95,"stem":96,"icon":39},"\u002Fintegrate\u002Fadapters\u002Foverview","3.integrate\u002Fadapters\u002F01.overview",{"title":98,"path":99,"stem":100,"children":101,"page":29},"Cloud","\u002Fintegrate\u002Fadapters\u002Fcloud","3.integrate\u002Fadapters\u002Fcloud",[102,107,112,117,122,127,132],{"title":103,"path":104,"stem":105,"icon":106},"Axiom","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Faxiom","3.integrate\u002Fadapters\u002Fcloud\u002F01.axiom","i-custom-axiom",{"title":108,"path":109,"stem":110,"icon":111},"OTLP","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fotlp","3.integrate\u002Fadapters\u002Fcloud\u002F02.otlp","i-simple-icons-opentelemetry",{"title":113,"path":114,"stem":115,"icon":116},"PostHog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fposthog","3.integrate\u002Fadapters\u002Fcloud\u002F03.posthog","i-simple-icons-posthog",{"title":118,"path":119,"stem":120,"icon":121},"Sentry","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fsentry","3.integrate\u002Fadapters\u002Fcloud\u002F04.sentry","i-simple-icons-sentry",{"title":123,"path":124,"stem":125,"icon":126},"Better Stack","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fbetter-stack","3.integrate\u002Fadapters\u002Fcloud\u002F05.better-stack","i-simple-icons-betterstack",{"title":128,"path":129,"stem":130,"icon":131},"Datadog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fdatadog","3.integrate\u002Fadapters\u002Fcloud\u002F06.datadog","i-simple-icons-datadog",{"title":133,"path":134,"stem":135,"icon":136},"HyperDX","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fhyperdx","3.integrate\u002Fadapters\u002Fcloud\u002F07.hyperdx","i-custom-hyperdx",{"title":138,"path":139,"stem":140,"children":141,"page":29},"Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fself-hosted","3.integrate\u002Fadapters\u002Fself-hosted",[142,147],{"title":143,"path":144,"stem":145,"icon":146},"File System","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Ffs","3.integrate\u002Fadapters\u002Fself-hosted\u002F01.fs","i-lucide-hard-drive",{"title":148,"path":149,"stem":150,"icon":151},"NuxtHub","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fnuxthub","3.integrate\u002Fadapters\u002Fself-hosted\u002F02.nuxthub","i-simple-icons-nuxt",{"title":153,"path":154,"stem":155,"children":156,"page":29},"Frameworks","\u002Fintegrate\u002Fframeworks","3.integrate\u002Fframeworks",[157,161,166,171,176,181,186,191,196,201,206,211,216,221,225,230],{"title":36,"path":158,"stem":159,"icon":160},"\u002Fintegrate\u002Fframeworks\u002Foverview","3.integrate\u002Fframeworks\u002F00.overview","i-lucide-layout-grid",{"title":162,"path":163,"stem":164,"icon":165},"Nuxt","\u002Fintegrate\u002Fframeworks\u002Fnuxt","3.integrate\u002Fframeworks\u002F01.nuxt","i-simple-icons-nuxtdotjs",{"title":167,"path":168,"stem":169,"icon":170},"Next.js","\u002Fintegrate\u002Fframeworks\u002Fnextjs","3.integrate\u002Fframeworks\u002F02.nextjs","i-simple-icons-nextdotjs",{"title":172,"path":173,"stem":174,"icon":175},"SvelteKit","\u002Fintegrate\u002Fframeworks\u002Fsveltekit","3.integrate\u002Fframeworks\u002F03.sveltekit","i-simple-icons-svelte",{"title":177,"path":178,"stem":179,"icon":180},"Nitro","\u002Fintegrate\u002Fframeworks\u002Fnitro","3.integrate\u002Fframeworks\u002F04.nitro","i-custom-nitro",{"title":182,"path":183,"stem":184,"icon":185},"TanStack Start","\u002Fintegrate\u002Fframeworks\u002Ftanstack-start","3.integrate\u002Fframeworks\u002F05.tanstack-start","i-custom-tanstack",{"title":187,"path":188,"stem":189,"icon":190},"NestJS","\u002Fintegrate\u002Fframeworks\u002Fnestjs","3.integrate\u002Fframeworks\u002F06.nestjs","i-simple-icons-nestjs",{"title":192,"path":193,"stem":194,"icon":195},"Express","\u002Fintegrate\u002Fframeworks\u002Fexpress","3.integrate\u002Fframeworks\u002F07.express","i-simple-icons-express",{"title":197,"path":198,"stem":199,"icon":200},"Hono","\u002Fintegrate\u002Fframeworks\u002Fhono","3.integrate\u002Fframeworks\u002F08.hono","i-simple-icons-hono",{"title":202,"path":203,"stem":204,"icon":205},"Fastify","\u002Fintegrate\u002Fframeworks\u002Ffastify","3.integrate\u002Fframeworks\u002F09.fastify","i-simple-icons-fastify",{"title":207,"path":208,"stem":209,"icon":210},"Elysia","\u002Fintegrate\u002Fframeworks\u002Felysia","3.integrate\u002Fframeworks\u002F10.elysia","i-custom-elysia",{"title":212,"path":213,"stem":214,"icon":215},"React Router","\u002Fintegrate\u002Fframeworks\u002Freact-router","3.integrate\u002Fframeworks\u002F11.react-router","i-custom-reactrouter",{"title":217,"path":218,"stem":219,"icon":220},"Cloudflare Workers","\u002Fintegrate\u002Fframeworks\u002Fcloudflare-workers","3.integrate\u002Fframeworks\u002F12.cloudflare-workers","i-simple-icons-cloudflare",{"title":222,"path":223,"stem":224,"icon":74},"Standalone","\u002Fintegrate\u002Fframeworks\u002Fstandalone","3.integrate\u002Fframeworks\u002F13.standalone",{"title":226,"path":227,"stem":228,"icon":229},"Astro","\u002Fintegrate\u002Fframeworks\u002Fastro","3.integrate\u002Fframeworks\u002F14.astro","i-simple-icons-astro",{"title":231,"path":232,"stem":233,"icon":234},"AWS Lambda","\u002Fintegrate\u002Fframeworks\u002Faws-lambda","3.integrate\u002Fframeworks\u002F16.aws-lambda","i-custom-lambda",{"title":236,"path":237,"stem":238,"children":239,"page":29},"Use Cases","\u002Fuse-cases","4.use-cases",[240,244,249,278,306,338],{"title":36,"path":241,"stem":242,"icon":243},"\u002Fuse-cases\u002Foverview","4.use-cases\u002F0.overview","i-lucide-list-checks",{"title":245,"path":246,"stem":247,"icon":248},"Client Logging","\u002Fuse-cases\u002Fclient-logging","4.use-cases\u002F1.client-logging","i-lucide-monitor",{"title":250,"icon":251,"path":252,"stem":253,"children":254,"page":29},"AI SDK","i-simple-icons-vercel","\u002Fuse-cases\u002Fai-sdk","4.use-cases\u002F2.ai-sdk",[255,258,263,268,273],{"title":36,"path":256,"stem":257,"icon":39},"\u002Fuse-cases\u002Fai-sdk\u002Foverview","4.use-cases\u002F2.ai-sdk\u002F01.overview",{"title":259,"path":260,"stem":261,"icon":262},"Usage","\u002Fuse-cases\u002Fai-sdk\u002Fusage","4.use-cases\u002F2.ai-sdk\u002F02.usage","i-lucide-code",{"title":264,"path":265,"stem":266,"icon":267},"Options","\u002Fuse-cases\u002Fai-sdk\u002Foptions","4.use-cases\u002F2.ai-sdk\u002F03.options","i-lucide-sliders",{"title":269,"path":270,"stem":271,"icon":272},"Metadata","\u002Fuse-cases\u002Fai-sdk\u002Fmetadata","4.use-cases\u002F2.ai-sdk\u002F04.metadata","i-lucide-database",{"title":274,"path":275,"stem":276,"icon":277},"Telemetry","\u002Fuse-cases\u002Fai-sdk\u002Ftelemetry","4.use-cases\u002F2.ai-sdk\u002F05.telemetry","i-lucide-activity",{"title":279,"icon":280,"path":281,"stem":282,"children":283,"page":29},"Better Auth","i-simple-icons-betterauth","\u002Fuse-cases\u002Fbetter-auth","4.use-cases\u002F3.better-auth",[284,287,292,297,301],{"title":36,"path":285,"stem":286,"icon":39},"\u002Fuse-cases\u002Fbetter-auth\u002Foverview","4.use-cases\u002F3.better-auth\u002F01.overview",{"title":288,"path":289,"stem":290,"icon":291},"Identify User","\u002Fuse-cases\u002Fbetter-auth\u002Fidentify-user","4.use-cases\u002F3.better-auth\u002F02.identify-user","i-lucide-user-check",{"title":293,"path":294,"stem":295,"icon":296},"Middleware","\u002Fuse-cases\u002Fbetter-auth\u002Fmiddleware","4.use-cases\u002F3.better-auth\u002F03.middleware","i-lucide-shield",{"title":298,"path":299,"stem":300,"icon":248},"Client Sync","\u002Fuse-cases\u002Fbetter-auth\u002Fclient-sync","4.use-cases\u002F3.better-auth\u002F04.client-sync",{"title":302,"path":303,"stem":304,"icon":305},"Performance","\u002Fuse-cases\u002Fbetter-auth\u002Fperformance","4.use-cases\u002F3.better-auth\u002F05.performance","i-lucide-gauge",{"title":307,"icon":308,"path":309,"stem":310,"children":311,"page":29},"Audit Logs","i-lucide-shield-check","\u002Fuse-cases\u002Faudit","4.use-cases\u002F4.audit",[312,315,320,325,330,334],{"title":36,"path":313,"stem":314,"icon":39},"\u002Fuse-cases\u002Faudit\u002Foverview","4.use-cases\u002F4.audit\u002F01.overview",{"title":316,"path":317,"stem":318,"icon":319},"Schema","\u002Fuse-cases\u002Faudit\u002Fschema","4.use-cases\u002F4.audit\u002F02.schema","i-lucide-file-text",{"title":321,"path":322,"stem":323,"icon":324},"Recording","\u002Fuse-cases\u002Faudit\u002Frecording","4.use-cases\u002F4.audit\u002F03.recording","i-lucide-pen-line",{"title":326,"path":327,"stem":328,"icon":329},"Drains","\u002Fuse-cases\u002Faudit\u002Fpipeline","4.use-cases\u002F4.audit\u002F04.pipeline","i-lucide-link",{"title":331,"path":332,"stem":333,"icon":308},"Compliance","\u002Fuse-cases\u002Faudit\u002Fcompliance","4.use-cases\u002F4.audit\u002F05.compliance",{"title":335,"path":336,"stem":337,"icon":79},"Recipes","\u002Fuse-cases\u002Faudit\u002Frecipes","4.use-cases\u002F4.audit\u002F06.recipes",{"title":339,"path":340,"stem":341,"icon":342},"Enrichers","\u002Fuse-cases\u002Fenrichers","4.use-cases\u002F5.enrichers","i-lucide-sparkles",{"title":344,"path":345,"stem":346,"children":347,"page":29},"Extend","\u002Fextend","5.extend",[348,352,357,362,367,371,375,379,383,388,393],{"title":36,"path":349,"stem":350,"icon":351},"\u002Fextend\u002Foverview","5.extend\u002F0.overview","i-lucide-blocks",{"title":353,"path":354,"stem":355,"icon":356},"Stream","\u002Fextend\u002Fstream","5.extend\u002F1.stream","i-lucide-radio-tower",{"title":358,"path":359,"stem":360,"icon":361},"Custom framework","\u002Fextend\u002Fcustom-framework","5.extend\u002F10.custom-framework","i-lucide-puzzle",{"title":363,"path":364,"stem":365,"icon":366},"FS reader","\u002Fextend\u002Ffs-reader","5.extend\u002F2.fs-reader","i-lucide-folder-search",{"title":335,"path":368,"stem":369,"icon":370},"\u002Fextend\u002Fconsumer-recipes","5.extend\u002F3.consumer-recipes","i-lucide-chef-hat",{"title":372,"path":373,"stem":374,"icon":351},"Plugins","\u002Fextend\u002Fplugins","5.extend\u002F4.plugins",{"title":376,"path":377,"stem":378,"icon":342},"Custom enrichers","\u002Fextend\u002Fcustom-enrichers","5.extend\u002F5.custom-enrichers",{"title":380,"path":381,"stem":382,"icon":64},"Tail sampling","\u002Fextend\u002Ftail-sampling","5.extend\u002F6.tail-sampling",{"title":384,"path":385,"stem":386,"icon":387},"Identity headers","\u002Fextend\u002Fidentity-headers","5.extend\u002F7.identity-headers","i-lucide-fingerprint",{"title":389,"path":390,"stem":391,"icon":392},"Custom drains","\u002Fextend\u002Fcustom-drains","5.extend\u002F8.custom-drains","i-lucide-share-2",{"title":394,"path":395,"stem":396,"icon":397},"Drain pipeline","\u002Fextend\u002Fdrain-pipeline","5.extend\u002F9.drain-pipeline","i-lucide-workflow",{"title":399,"path":400,"stem":401,"children":402,"page":29},"Reference","\u002Freference","6.reference",[403,408,411,416,420,425],{"title":404,"path":405,"stem":406,"icon":407},"Configuration","\u002Freference\u002Fconfiguration","6.reference\u002F1.configuration","i-lucide-settings",{"title":302,"path":409,"stem":410,"icon":305},"\u002Freference\u002Fperformance","6.reference\u002F2.performance",{"title":412,"path":413,"stem":414,"icon":415},"Vite Plugin","\u002Freference\u002Fvite-plugin","6.reference\u002F3.vite-plugin","i-custom-vite",{"title":417,"path":418,"stem":419,"icon":308},"Best Practices","\u002Freference\u002Fbest-practices","6.reference\u002F4.best-practices",{"title":421,"path":422,"stem":423,"icon":424},"vs Other Loggers","\u002Freference\u002Fvs-other-loggers","6.reference\u002F5.vs-other-loggers","i-lucide-scale",{"title":426,"path":427,"stem":428,"icon":342},"Agent Skills","\u002Freference\u002Fagent-skills","6.reference\u002F6.agent-skills",{"id":430,"title":431,"body":432,"description":2004,"extension":2005,"links":2006,"meta":2014,"navigation":2015,"path":119,"seo":2016,"stem":120,"__hash__":2017},"docs\u002F3.integrate\u002Fadapters\u002Fcloud\u002F04.sentry.md","Sentry Adapter",{"type":433,"value":434,"toc":1981},"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,1977],[436,437,438,444,445,449,450,453],"p",{},[439,440,118],"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":121},"[\"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\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fsentry",[443],"\nFramework setup: ",[439,493,494],{"href":494,"rel":495},"https:\u002F\u002Fwww.evlog.dev\u002Fintegrate\u002Fframeworks\u002Foverview",[443],[497,498,20],"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,25],{"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":167,"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":197,"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":192,"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":202,"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":207,"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":187,"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":222,"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,404],{"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":104},"Axiom Adapter"," - Send logs to Axiom for querying and dashboards",[466,1960,1961,1964],{},[439,1962,1963],{"href":109},"OTLP Adapter"," - Send logs via OpenTelemetry Protocol",[466,1966,1967,1970],{},[439,1968,1969],{"href":114},"PostHog Adapter"," - Send logs to PostHog",[466,1972,1973,1976],{},[439,1974,1975],{"href":390},"Custom Adapters"," - Build your own adapter",[1978,1979,1980],"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":1982},[1983,1984,1989,1995,1996,1997,2002,2003],{"id":499,"depth":621,"text":20},{"id":549,"depth":621,"text":25,"children":1985},[1986,1987,1988],{"id":553,"depth":640,"text":554},{"id":579,"depth":640,"text":580},{"id":602,"depth":640,"text":603},{"id":1191,"depth":621,"text":404,"children":1990},[1991,1992,1993,1994],{"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":1998},[1999,2000,2001],{"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",[2007,2013],{"label":2008,"icon":2009,"to":441,"target":2010,"color":2011,"variant":2012},"Sentry Dashboard","i-lucide-external-link","_blank","neutral","subtle",{"label":1963,"icon":111,"to":109,"color":2011,"variant":2012},{},{"title":118,"icon":121},{"title":431,"description":2004},"oaQYH5VoXW8mVtT7AWdbMBXiFTg3ttpHYEbG_zlc5Rs",[2019,2021],{"title":113,"path":114,"stem":115,"description":2020,"icon":116,"children":-1},"Send wide events to PostHog Logs via OTLP for structured log querying, debugging, and observability in your PostHog dashboard.",{"title":123,"path":124,"stem":125,"description":2022,"icon":126,"children":-1},"Send wide events to Better Stack (formerly Logtail) for log management, alerting, and dashboards. Zero-config setup with environment variables.",1778439733167]