[{"data":1,"prerenderedAt":1346},["ShallowReactive",2],{"navigation_docs":3,"-adapters-sentry":191,"-adapters-sentry-surround":1341},[4,30,65,115,132,146],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Getting Started","/getting-started","1.getting-started",[9,14,19,24],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","/getting-started/introduction","1.getting-started/1.introduction","i-lucide-info",{"title":15,"path":16,"stem":17,"icon":18},"Installation","/getting-started/installation","1.getting-started/2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Quick Start","/getting-started/quick-start","1.getting-started/3.quick-start","i-lucide-zap",{"title":25,"path":26,"stem":27,"icon":28},"Agent Skills","/getting-started/agent-skills","1.getting-started/4.agent-skills","i-lucide-sparkles",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"Core Concepts","/core-concepts","2.core-concepts",[35,40,45,50,55,60],{"title":36,"path":37,"stem":38,"icon":39},"Wide Events","/core-concepts/wide-events","2.core-concepts/1.wide-events","i-lucide-layers",{"title":41,"path":42,"stem":43,"icon":44},"Structured Errors","/core-concepts/structured-errors","2.core-concepts/2.structured-errors","i-lucide-shield-alert",{"title":46,"path":47,"stem":48,"icon":49},"Best Practices","/core-concepts/best-practices","2.core-concepts/3.best-practices","i-lucide-shield-check",{"title":51,"path":52,"stem":53,"icon":54},"Typed Fields","/core-concepts/typed-fields","2.core-concepts/4.typed-fields","i-simple-icons-typescript",{"title":56,"path":57,"stem":58,"icon":59},"Sampling","/core-concepts/sampling","2.core-concepts/5.sampling","i-lucide-filter",{"title":61,"path":62,"stem":63,"icon":64},"Client Logging","/core-concepts/client-logging","2.core-concepts/6.client-logging","i-lucide-monitor",{"title":66,"path":67,"stem":68,"children":69,"page":29},"Adapters","/adapters","3.adapters",[70,75,80,85,90,95,100,105,110],{"title":71,"path":72,"stem":73,"icon":74},"Overview","/adapters/overview","3.adapters/1.overview","i-custom-plug",{"title":76,"path":77,"stem":78,"icon":79},"Axiom","/adapters/axiom","3.adapters/2.axiom","i-custom-axiom",{"title":81,"path":82,"stem":83,"icon":84},"OTLP","/adapters/otlp","3.adapters/3.otlp","i-simple-icons-opentelemetry",{"title":86,"path":87,"stem":88,"icon":89},"PostHog","/adapters/posthog","3.adapters/4.posthog","i-simple-icons-posthog",{"title":91,"path":92,"stem":93,"icon":94},"Sentry","/adapters/sentry","3.adapters/5.sentry","i-simple-icons-sentry",{"title":96,"path":97,"stem":98,"icon":99},"Better Stack","/adapters/better-stack","3.adapters/6.better-stack","i-simple-icons-betterstack",{"title":101,"path":102,"stem":103,"icon":104},"Custom Adapters","/adapters/custom","3.adapters/7.custom","i-lucide-code",{"title":106,"path":107,"stem":108,"icon":109},"Pipeline","/adapters/pipeline","3.adapters/8.pipeline","i-lucide-workflow",{"title":111,"path":112,"stem":113,"icon":114},"Browser","/adapters/browser","3.adapters/9.browser","i-lucide-globe",{"title":116,"path":117,"stem":118,"children":119,"page":29},"Enrichers","/enrichers","4.enrichers",[120,123,128],{"title":71,"path":121,"stem":122,"icon":28},"/enrichers/overview","4.enrichers/1.overview",{"title":124,"path":125,"stem":126,"icon":127},"Built-in","/enrichers/built-in","4.enrichers/2.built-in","i-lucide-puzzle",{"title":129,"path":130,"stem":131,"icon":104},"Custom","/enrichers/custom","4.enrichers/3.custom",{"title":133,"path":134,"stem":135,"children":136,"page":29},"NuxtHub","/nuxthub","5.nuxthub",[137,141],{"title":71,"path":138,"stem":139,"icon":140},"/nuxthub/overview","5.nuxthub/1.overview","i-lucide-database",{"title":142,"path":143,"stem":144,"icon":145},"Retention","/nuxthub/retention","5.nuxthub/2.retention","i-lucide-clock",{"title":147,"path":148,"stem":149,"children":150,"page":29},"Examples","/examples","6.examples",[151,156,161,166,171,176,181,186],{"title":152,"path":153,"stem":154,"icon":155},"Next.js","/examples/nextjs","6.examples/1.nextjs","i-simple-icons-nextdotjs",{"title":157,"path":158,"stem":159,"icon":160},"SvelteKit","/examples/sveltekit","6.examples/2.sveltekit","i-simple-icons-svelte",{"title":162,"path":163,"stem":164,"icon":165},"TanStack Start","/examples/tanstack-start","6.examples/3.tanstack-start","i-custom-tanstack",{"title":167,"path":168,"stem":169,"icon":170},"NestJS","/examples/nestjs","6.examples/4.nestjs","i-simple-icons-nestjs",{"title":172,"path":173,"stem":174,"icon":175},"Express","/examples/express","6.examples/5.express","i-simple-icons-express",{"title":177,"path":178,"stem":179,"icon":180},"Hono","/examples/hono","6.examples/6.hono","i-simple-icons-hono",{"title":182,"path":183,"stem":184,"icon":185},"Fastify","/examples/fastify","6.examples/7.fastify","i-simple-icons-fastify",{"title":187,"path":188,"stem":189,"icon":190},"Elysia","/examples/elysia","6.examples/8.elysia","i-custom-elysia",{"id":192,"title":193,"body":194,"description":1327,"extension":1328,"links":1329,"meta":1337,"navigation":1338,"path":92,"seo":1339,"stem":93,"__hash__":1340},"docs/3.adapters/5.sentry.md","Sentry Adapter",{"type":195,"value":196,"toc":1304},"minimark",[197,216,220,223,267,270,275,299,303,322,326,433,439,443,446,486,490,539,554,558,565,695,699,702,847,851,958,962,968,1054,1058,1061,1090,1094,1098,1102,1110,1113,1117,1120,1126,1130,1136,1140,1143,1271,1275,1300],[198,199,200,206,207,211,212,215],"p",{},[201,202,91],"a",{"href":203,"rel":204},"https://sentry.io",[205],"nofollow"," is an error tracking and performance monitoring platform. The evlog Sentry adapter sends your wide events as ",[208,209,210],"strong",{},"Sentry Structured Logs",", visible in ",[208,213,214],{},"Explore > Logs"," in the Sentry dashboard with high-cardinality searchable attributes.",[217,218,15],"h2",{"id":219},"installation",[198,221,222],{},"The Sentry adapter comes bundled with evlog:",[224,225,231],"pre",{"className":226,"code":227,"filename":228,"language":229,"meta":230,"style":230},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { createSentryDrain } from 'evlog/sentry'\n","server/plugins/evlog-drain.ts","typescript","",[232,233,234],"code",{"__ignoreMap":230},[235,236,239,243,247,251,254,257,260,264],"span",{"class":237,"line":238},"line",1,[235,240,242],{"class":241},"s7zQu","import",[235,244,246],{"class":245},"sMK4o"," {",[235,248,250],{"class":249},"sTEyZ"," createSentryDrain",[235,252,253],{"class":245}," }",[235,255,256],{"class":241}," from",[235,258,259],{"class":245}," '",[235,261,263],{"class":262},"sfazB","evlog/sentry",[235,265,266],{"class":245},"'\n",[217,268,20],{"id":269},"quick-start",[271,272,274],"h3",{"id":273},"_1-get-your-sentry-dsn","1. Get your Sentry DSN",[276,277,278,286,289],"ol",{},[279,280,281,282],"li",{},"Create a ",[201,283,285],{"href":203,"rel":284},[205],"Sentry account",[279,287,288],{},"Create a new project (Node.js or JavaScript)",[279,290,291,292],{},"Find your DSN in ",[208,293,294,295,298],{},"Settings > Projects > ",[235,296,297],{},"Your Project"," > Client Keys (DSN)",[271,300,302],{"id":301},"_2-set-environment-variables","2. Set environment variables",[224,304,309],{"className":305,"code":306,"filename":307,"language":308,"meta":230,"style":230},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","NUXT_SENTRY_DSN=https://your-public-key@o0.ingest.sentry.io/your-project-id\n",".env","bash",[232,310,311],{"__ignoreMap":230},[235,312,313,316,319],{"class":237,"line":238},[235,314,315],{"class":249},"NUXT_SENTRY_DSN",[235,317,318],{"class":245},"=",[235,320,321],{"class":262},"https://your-public-key@o0.ingest.sentry.io/your-project-id\n",[271,323,325],{"id":324},"_3-create-the-drain-plugin","3. Create the drain plugin",[224,327,329],{"className":226,"code":328,"filename":228,"language":229,"meta":230,"style":230},"import { createSentryDrain } from 'evlog/sentry'\n\nexport default defineNitroPlugin((nitroApp) => {\n  nitroApp.hooks.hook('evlog:drain', createSentryDrain())\n})\n",[232,330,331,349,356,388,424],{"__ignoreMap":230},[235,332,333,335,337,339,341,343,345,347],{"class":237,"line":238},[235,334,242],{"class":241},[235,336,246],{"class":245},[235,338,250],{"class":249},[235,340,253],{"class":245},[235,342,256],{"class":241},[235,344,259],{"class":245},[235,346,263],{"class":262},[235,348,266],{"class":245},[235,350,352],{"class":237,"line":351},2,[235,353,355],{"emptyLinePlaceholder":354},true,"\n",[235,357,359,362,365,369,372,374,378,381,385],{"class":237,"line":358},3,[235,360,361],{"class":241},"export",[235,363,364],{"class":241}," default",[235,366,368],{"class":367},"s2Zo4"," defineNitroPlugin",[235,370,371],{"class":249},"(",[235,373,371],{"class":245},[235,375,377],{"class":376},"sHdIc","nitroApp",[235,379,380],{"class":245},")",[235,382,384],{"class":383},"spNyl"," =>",[235,386,387],{"class":245}," {\n",[235,389,391,394,397,400,402,405,408,411,414,416,419,421],{"class":237,"line":390},4,[235,392,393],{"class":249},"  nitroApp",[235,395,396],{"class":245},".",[235,398,399],{"class":249},"hooks",[235,401,396],{"class":245},[235,403,404],{"class":367},"hook",[235,406,371],{"class":407},"swJcz",[235,409,410],{"class":245},"'",[235,412,413],{"class":262},"evlog:drain",[235,415,410],{"class":245},[235,417,418],{"class":245},",",[235,420,250],{"class":367},[235,422,423],{"class":407},"())\n",[235,425,427,430],{"class":237,"line":426},5,[235,428,429],{"class":245},"}",[235,431,432],{"class":249},")\n",[198,434,435,436,438],{},"That's it! Your logs will now appear in ",[208,437,214],{}," in Sentry.",[217,440,442],{"id":441},"configuration","Configuration",[198,444,445],{},"The adapter reads configuration from multiple sources (highest priority first):",[276,447,448,457,466,473],{},[279,449,450,453,454],{},[208,451,452],{},"Overrides"," passed to ",[232,455,456],{},"createSentryDrain()",[279,458,459,462,463],{},[208,460,461],{},"Runtime config"," at ",[232,464,465],{},"runtimeConfig.evlog.sentry",[279,467,468,462,470],{},[208,469,461],{},[232,471,472],{},"runtimeConfig.sentry",[279,474,475,478,479,482,483,380],{},[208,476,477],{},"Environment variables"," (",[232,480,481],{},"NUXT_SENTRY_*"," or ",[232,484,485],{},"SENTRY_*",[271,487,489],{"id":488},"environment-variables","Environment Variables",[491,492,493,506],"table",{},[494,495,496],"thead",{},[497,498,499,503],"tr",{},[500,501,502],"th",{},"Variable",[500,504,505],{},"Description",[507,508,509,519,529],"tbody",{},[497,510,511,516],{},[512,513,514],"td",{},[232,515,315],{},[512,517,518],{},"Sentry DSN (required)",[497,520,521,526],{},[512,522,523],{},[232,524,525],{},"NUXT_SENTRY_ENVIRONMENT",[512,527,528],{},"Environment name override",[497,530,531,536],{},[512,532,533],{},[232,534,535],{},"NUXT_SENTRY_RELEASE",[512,537,538],{},"Release version override",[198,540,541,542,545,546,549,550,553],{},"You can also use ",[232,543,544],{},"SENTRY_DSN",", ",[232,547,548],{},"SENTRY_ENVIRONMENT",", and ",[232,551,552],{},"SENTRY_RELEASE"," as fallbacks.",[271,555,557],{"id":556},"runtime-config","Runtime Config",[198,559,560,561,564],{},"Configure via ",[232,562,563],{},"nuxt.config.ts"," for type-safe configuration:",[224,566,568],{"className":226,"code":567,"filename":563,"language":229,"meta":230,"style":230},"export default defineNuxtConfig({\n  modules: ['evlog/nuxt'],\n  evlog: {\n    sentry: {\n      dsn: '', // Set via NUXT_SENTRY_DSN\n      environment: 'production',\n      release: '1.0.0',\n    },\n  },\n})\n",[232,569,570,584,608,617,626,642,659,676,682,688],{"__ignoreMap":230},[235,571,572,574,576,579,581],{"class":237,"line":238},[235,573,361],{"class":241},[235,575,364],{"class":241},[235,577,578],{"class":367}," defineNuxtConfig",[235,580,371],{"class":249},[235,582,583],{"class":245},"{\n",[235,585,586,589,592,595,597,600,602,605],{"class":237,"line":351},[235,587,588],{"class":407},"  modules",[235,590,591],{"class":245},":",[235,593,594],{"class":249}," [",[235,596,410],{"class":245},[235,598,599],{"class":262},"evlog/nuxt",[235,601,410],{"class":245},[235,603,604],{"class":249},"]",[235,606,607],{"class":245},",\n",[235,609,610,613,615],{"class":237,"line":358},[235,611,612],{"class":407},"  evlog",[235,614,591],{"class":245},[235,616,387],{"class":245},[235,618,619,622,624],{"class":237,"line":390},[235,620,621],{"class":407},"    sentry",[235,623,591],{"class":245},[235,625,387],{"class":245},[235,627,628,631,633,636,638],{"class":237,"line":426},[235,629,630],{"class":407},"      dsn",[235,632,591],{"class":245},[235,634,635],{"class":245}," ''",[235,637,418],{"class":245},[235,639,641],{"class":640},"sHwdD"," // Set via NUXT_SENTRY_DSN\n",[235,643,645,648,650,652,655,657],{"class":237,"line":644},6,[235,646,647],{"class":407},"      environment",[235,649,591],{"class":245},[235,651,259],{"class":245},[235,653,654],{"class":262},"production",[235,656,410],{"class":245},[235,658,607],{"class":245},[235,660,662,665,667,669,672,674],{"class":237,"line":661},7,[235,663,664],{"class":407},"      release",[235,666,591],{"class":245},[235,668,259],{"class":245},[235,670,671],{"class":262},"1.0.0",[235,673,410],{"class":245},[235,675,607],{"class":245},[235,677,679],{"class":237,"line":678},8,[235,680,681],{"class":245},"    },\n",[235,683,685],{"class":237,"line":684},9,[235,686,687],{"class":245},"  },\n",[235,689,691,693],{"class":237,"line":690},10,[235,692,429],{"class":245},[235,694,432],{"class":249},[271,696,698],{"id":697},"override-options","Override Options",[198,700,701],{},"Pass options directly to override any configuration:",[224,703,705],{"className":226,"code":704,"filename":228,"language":229,"meta":230,"style":230},"import { createSentryDrain } from 'evlog/sentry'\n\nexport default defineNitroPlugin((nitroApp) => {\n  nitroApp.hooks.hook('evlog:drain', createSentryDrain({\n    dsn: 'https://key@o0.ingest.sentry.io/123',\n    tags: { team: 'backend' },\n    timeout: 10000, // 10 seconds\n  }))\n})\n",[232,706,707,725,729,749,777,793,817,833,841],{"__ignoreMap":230},[235,708,709,711,713,715,717,719,721,723],{"class":237,"line":238},[235,710,242],{"class":241},[235,712,246],{"class":245},[235,714,250],{"class":249},[235,716,253],{"class":245},[235,718,256],{"class":241},[235,720,259],{"class":245},[235,722,263],{"class":262},[235,724,266],{"class":245},[235,726,727],{"class":237,"line":351},[235,728,355],{"emptyLinePlaceholder":354},[235,730,731,733,735,737,739,741,743,745,747],{"class":237,"line":358},[235,732,361],{"class":241},[235,734,364],{"class":241},[235,736,368],{"class":367},[235,738,371],{"class":249},[235,740,371],{"class":245},[235,742,377],{"class":376},[235,744,380],{"class":245},[235,746,384],{"class":383},[235,748,387],{"class":245},[235,750,751,753,755,757,759,761,763,765,767,769,771,773,775],{"class":237,"line":390},[235,752,393],{"class":249},[235,754,396],{"class":245},[235,756,399],{"class":249},[235,758,396],{"class":245},[235,760,404],{"class":367},[235,762,371],{"class":407},[235,764,410],{"class":245},[235,766,413],{"class":262},[235,768,410],{"class":245},[235,770,418],{"class":245},[235,772,250],{"class":367},[235,774,371],{"class":407},[235,776,583],{"class":245},[235,778,779,782,784,786,789,791],{"class":237,"line":426},[235,780,781],{"class":407},"    dsn",[235,783,591],{"class":245},[235,785,259],{"class":245},[235,787,788],{"class":262},"https://key@o0.ingest.sentry.io/123",[235,790,410],{"class":245},[235,792,607],{"class":245},[235,794,795,798,800,802,805,807,809,812,814],{"class":237,"line":644},[235,796,797],{"class":407},"    tags",[235,799,591],{"class":245},[235,801,246],{"class":245},[235,803,804],{"class":407}," team",[235,806,591],{"class":245},[235,808,259],{"class":245},[235,810,811],{"class":262},"backend",[235,813,410],{"class":245},[235,815,816],{"class":245}," },\n",[235,818,819,822,824,828,830],{"class":237,"line":661},[235,820,821],{"class":407},"    timeout",[235,823,591],{"class":245},[235,825,827],{"class":826},"sbssI"," 10000",[235,829,418],{"class":245},[235,831,832],{"class":640}," // 10 seconds\n",[235,834,835,838],{"class":237,"line":678},[235,836,837],{"class":245},"  }",[235,839,840],{"class":407},"))\n",[235,842,843,845],{"class":237,"line":684},[235,844,429],{"class":245},[235,846,432],{"class":249},[271,848,850],{"id":849},"full-configuration-reference","Full Configuration Reference",[491,852,853,868],{},[494,854,855],{},[497,856,857,860,863,866],{},[500,858,859],{},"Option",[500,861,862],{},"Type",[500,864,865],{},"Default",[500,867,505],{},[507,869,870,887,904,921,938],{},[497,871,872,877,882,885],{},[512,873,874],{},[232,875,876],{},"dsn",[512,878,879],{},[232,880,881],{},"string",[512,883,884],{},"-",[512,886,518],{},[497,888,889,894,898,901],{},[512,890,891],{},[232,892,893],{},"environment",[512,895,896],{},[232,897,881],{},[512,899,900],{},"Event environment",[512,902,903],{},"Environment name",[497,905,906,911,915,918],{},[512,907,908],{},[232,909,910],{},"release",[512,912,913],{},[232,914,881],{},[512,916,917],{},"Event version",[512,919,920],{},"Release version",[497,922,923,928,933,935],{},[512,924,925],{},[232,926,927],{},"tags",[512,929,930],{},[232,931,932],{},"Record\u003Cstring, string>",[512,934,884],{},[512,936,937],{},"Additional attributes to attach",[497,939,940,945,950,955],{},[512,941,942],{},[232,943,944],{},"timeout",[512,946,947],{},[232,948,949],{},"number",[512,951,952],{},[232,953,954],{},"5000",[512,956,957],{},"Request timeout in milliseconds",[217,959,961],{"id":960},"log-transformation","Log Transformation",[198,963,964,965,591],{},"evlog wide events are converted to Sentry Logs using ",[232,966,967],{},"toSentryLog()",[969,970,971,989,1007,1024,1030,1044],"ul",{},[279,972,973,976,977,545,980,545,983,545,986,380],{},[208,974,975],{},"Level mapping",": evlog levels map directly (",[232,978,979],{},"debug",[232,981,982],{},"info",[232,984,985],{},"warn",[232,987,988],{},"error",[279,990,991,994,995,545,998,545,1001,545,1004,380],{},[208,992,993],{},"Severity numbers",": Follow the OpenTelemetry spec (",[232,996,997],{},"debug=5",[232,999,1000],{},"info=9",[232,1002,1003],{},"warn=13",[232,1005,1006],{},"error=17",[279,1008,1009,1012,1013,545,1016,1019,1020,1023],{},[208,1010,1011],{},"Body",": Derived from the event's ",[232,1014,1015],{},"message",[232,1017,1018],{},"action",", or ",[232,1021,1022],{},"path"," fields (first available)",[279,1025,1026,1029],{},[208,1027,1028],{},"Attributes",": All wide event fields are sent as typed attributes (string, integer, double, boolean). Complex objects are serialized to JSON strings.",[279,1031,1032,1035,1036,1039,1040,1043],{},[208,1033,1034],{},"Sentry attributes",": ",[232,1037,1038],{},"sentry.environment"," and ",[232,1041,1042],{},"sentry.release"," are set automatically",[279,1045,1046,1049,1050,1053],{},[208,1047,1048],{},"Trace ID",": Uses ",[232,1051,1052],{},"event.traceId"," if available, otherwise generates a random one",[217,1055,1057],{"id":1056},"querying-logs-in-sentry","Querying Logs in Sentry",[198,1059,1060],{},"evlog sends wide events as structured logs. In the Sentry dashboard:",[969,1062,1063,1068,1080],{},[279,1064,1065,1067],{},[208,1066,214],{},": View all evlog wide events with full attribute search",[279,1069,1070,1035,1073,545,1076,1079],{},[208,1071,1072],{},"Filter by attributes",[232,1074,1075],{},"service:my-app",[232,1077,1078],{},"level:error",", or any wide event field",[279,1081,1082,1085,1086,1089],{},[208,1083,1084],{},"Trace correlation",": Logs are linked to traces via ",[232,1087,1088],{},"trace_id"," for cross-referencing",[1091,1092,1093],"callout",{"color":982,"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.",[217,1095,1097],{"id":1096},"troubleshooting","Troubleshooting",[271,1099,1101],{"id":1100},"missing-dsn-error","Missing DSN error",[224,1103,1108],{"className":1104,"code":1106,"language":1107},[1105],"language-text","[evlog/sentry] Missing DSN. Set NUXT_SENTRY_DSN/SENTRY_DSN env var or pass to createSentryDrain()\n","text",[232,1109,1106],{"__ignoreMap":230},[198,1111,1112],{},"Make sure your environment variable is set and the server was restarted after adding it.",[271,1114,1116],{"id":1115},"invalid-dsn","Invalid DSN",[198,1118,1119],{},"If the DSN is malformed (missing public key or project ID), the adapter will throw an error. Verify your DSN format:",[224,1121,1124],{"className":1122,"code":1123,"language":1107},[1105],"https://\u003Cpublic-key>@\u003Chost>/\u003Cproject-id>\n",[232,1125,1123],{"__ignoreMap":230},[271,1127,1129],{"id":1128},"_401-unauthorized","401 Unauthorized",[198,1131,1132,1133,396],{},"Your DSN may be revoked or invalid. Generate a new DSN in ",[208,1134,1135],{},"Settings > Projects > Client Keys (DSN)",[217,1137,1139],{"id":1138},"direct-api-usage","Direct API Usage",[198,1141,1142],{},"For advanced use cases, you can use the lower-level functions:",[224,1144,1147],{"className":226,"code":1145,"filename":1146,"language":229,"meta":230,"style":230},"import { sendToSentry, sendBatchToSentry } from 'evlog/sentry'\n\n// Send a single event as a Sentry log\nawait sendToSentry(event, {\n  dsn: process.env.SENTRY_DSN!,\n})\n\n// Send multiple events in one request\nawait sendBatchToSentry(events, {\n  dsn: process.env.SENTRY_DSN!,\n})\n","server/utils/sentry.ts",[232,1148,1149,1173,1177,1182,1196,1218,1224,1228,1233,1246,1264],{"__ignoreMap":230},[235,1150,1151,1153,1155,1158,1160,1163,1165,1167,1169,1171],{"class":237,"line":238},[235,1152,242],{"class":241},[235,1154,246],{"class":245},[235,1156,1157],{"class":249}," sendToSentry",[235,1159,418],{"class":245},[235,1161,1162],{"class":249}," sendBatchToSentry",[235,1164,253],{"class":245},[235,1166,256],{"class":241},[235,1168,259],{"class":245},[235,1170,263],{"class":262},[235,1172,266],{"class":245},[235,1174,1175],{"class":237,"line":351},[235,1176,355],{"emptyLinePlaceholder":354},[235,1178,1179],{"class":237,"line":358},[235,1180,1181],{"class":640},"// Send a single event as a Sentry log\n",[235,1183,1184,1187,1189,1192,1194],{"class":237,"line":390},[235,1185,1186],{"class":241},"await",[235,1188,1157],{"class":367},[235,1190,1191],{"class":249},"(event",[235,1193,418],{"class":245},[235,1195,387],{"class":245},[235,1197,1198,1201,1203,1206,1208,1211,1213,1215],{"class":237,"line":426},[235,1199,1200],{"class":407},"  dsn",[235,1202,591],{"class":245},[235,1204,1205],{"class":249}," process",[235,1207,396],{"class":245},[235,1209,1210],{"class":249},"env",[235,1212,396],{"class":245},[235,1214,544],{"class":249},[235,1216,1217],{"class":245},"!,\n",[235,1219,1220,1222],{"class":237,"line":644},[235,1221,429],{"class":245},[235,1223,432],{"class":249},[235,1225,1226],{"class":237,"line":661},[235,1227,355],{"emptyLinePlaceholder":354},[235,1229,1230],{"class":237,"line":678},[235,1231,1232],{"class":640},"// Send multiple events in one request\n",[235,1234,1235,1237,1239,1242,1244],{"class":237,"line":684},[235,1236,1186],{"class":241},[235,1238,1162],{"class":367},[235,1240,1241],{"class":249},"(events",[235,1243,418],{"class":245},[235,1245,387],{"class":245},[235,1247,1248,1250,1252,1254,1256,1258,1260,1262],{"class":237,"line":690},[235,1249,1200],{"class":407},[235,1251,591],{"class":245},[235,1253,1205],{"class":249},[235,1255,396],{"class":245},[235,1257,1210],{"class":249},[235,1259,396],{"class":245},[235,1261,544],{"class":249},[235,1263,1217],{"class":245},[235,1265,1267,1269],{"class":237,"line":1266},11,[235,1268,429],{"class":245},[235,1270,432],{"class":249},[217,1272,1274],{"id":1273},"next-steps","Next Steps",[969,1276,1277,1283,1289,1295],{},[279,1278,1279,1282],{},[201,1280,1281],{"href":77},"Axiom Adapter"," - Send logs to Axiom for querying and dashboards",[279,1284,1285,1288],{},[201,1286,1287],{"href":82},"OTLP Adapter"," - Send logs via OpenTelemetry Protocol",[279,1290,1291,1294],{},[201,1292,1293],{"href":87},"PostHog Adapter"," - Send logs to PostHog",[279,1296,1297,1299],{},[201,1298,101],{"href":102}," - Build your own adapter",[1301,1302,1303],"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 .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 .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 .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":230,"searchDepth":351,"depth":351,"links":1305},[1306,1307,1312,1318,1319,1320,1325,1326],{"id":219,"depth":351,"text":15},{"id":269,"depth":351,"text":20,"children":1308},[1309,1310,1311],{"id":273,"depth":358,"text":274},{"id":301,"depth":358,"text":302},{"id":324,"depth":358,"text":325},{"id":441,"depth":351,"text":442,"children":1313},[1314,1315,1316,1317],{"id":488,"depth":358,"text":489},{"id":556,"depth":358,"text":557},{"id":697,"depth":358,"text":698},{"id":849,"depth":358,"text":850},{"id":960,"depth":351,"text":961},{"id":1056,"depth":351,"text":1057},{"id":1096,"depth":351,"text":1097,"children":1321},[1322,1323,1324],{"id":1100,"depth":358,"text":1101},{"id":1115,"depth":358,"text":1116},{"id":1128,"depth":358,"text":1129},{"id":1138,"depth":351,"text":1139},{"id":1273,"depth":351,"text":1274},"Send structured logs to Sentry Logs for high-cardinality querying and debugging. Zero-config setup with environment variables.","md",[1330,1336],{"label":1331,"icon":1332,"to":203,"target":1333,"color":1334,"variant":1335},"Sentry Dashboard","i-lucide-external-link","_blank","neutral","subtle",{"label":1287,"icon":84,"to":82,"color":1334,"variant":1335},{},{"title":91,"icon":94},{"title":193,"description":1327},"vqATS5t_590zccKovwXd2uPfGxLoMU5i9nctJvaQRSg",[1342,1344],{"title":86,"path":87,"stem":88,"description":1343,"icon":89,"children":-1},"Send wide events to PostHog Logs via OTLP for structured log querying, debugging, and observability in your PostHog dashboard.",{"title":96,"path":97,"stem":98,"description":1345,"icon":99,"children":-1},"Send wide events to Better Stack (formerly Logtail) for log management, alerting, and dashboards. Zero-config setup with environment variables.",1772902102802]