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