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