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