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