[{"data":1,"prerenderedAt":2089},["ShallowReactive",2],{"navigation_docs":3,"-core-concepts-redaction":301,"-core-concepts-redaction-surround":2084},[4,30,75,119,207,271,287],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Getting Started","\u002Fgetting-started","1.getting-started",[9,14,19,24],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-info",{"title":15,"path":16,"stem":17,"icon":18},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Quick Start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F3.quick-start","i-lucide-zap",{"title":25,"path":26,"stem":27,"icon":28},"Agent Skills","\u002Fgetting-started\u002Fagent-skills","1.getting-started\u002F4.agent-skills","i-lucide-sparkles",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"Logging","\u002Flogging","2.logging",[35,40,45,50,55,60,65,70],{"title":36,"path":37,"stem":38,"icon":39},"Overview","\u002Flogging\u002Foverview","2.logging\u002F0.overview","i-lucide-list",{"title":41,"path":42,"stem":43,"icon":44},"Simple Logging","\u002Flogging\u002Fsimple-logging","2.logging\u002F1.simple-logging","i-lucide-terminal",{"title":46,"path":47,"stem":48,"icon":49},"Wide Events","\u002Flogging\u002Fwide-events","2.logging\u002F2.wide-events","i-lucide-layers",{"title":51,"path":52,"stem":53,"icon":54},"Structured Errors","\u002Flogging\u002Fstructured-errors","2.logging\u002F3.structured-errors","i-lucide-shield-alert",{"title":56,"path":57,"stem":58,"icon":59},"Client Logging","\u002Flogging\u002Fclient-logging","2.logging\u002F4.client-logging","i-lucide-monitor",{"title":61,"path":62,"stem":63,"icon":64},"AI SDK Integration","\u002Flogging\u002Fai-sdk","2.logging\u002F5.ai-sdk","i-simple-icons-vercel",{"title":66,"path":67,"stem":68,"icon":69},"Better Auth Integration","\u002Flogging\u002Fbetter-auth","2.logging\u002F6.better-auth","i-simple-icons-betterauth",{"title":71,"path":72,"stem":73,"icon":74},"Audit Logs","\u002Flogging\u002Faudit","2.logging\u002F7.audit","i-lucide-shield-check",{"title":76,"path":77,"stem":78,"children":79,"page":29},"Core Concepts","\u002Fcore-concepts","3.core-concepts",[80,85,90,95,100,104,109,114],{"title":81,"path":82,"stem":83,"icon":84},"Lifecycle","\u002Fcore-concepts\u002Flifecycle","3.core-concepts\u002F0.lifecycle","i-lucide-arrow-right-left",{"title":86,"path":87,"stem":88,"icon":89},"Configuration","\u002Fcore-concepts\u002Fconfiguration","3.core-concepts\u002F1.configuration","i-lucide-settings",{"title":91,"path":92,"stem":93,"icon":94},"Sampling","\u002Fcore-concepts\u002Fsampling","3.core-concepts\u002F2.sampling","i-lucide-filter",{"title":96,"path":97,"stem":98,"icon":99},"Typed Fields","\u002Fcore-concepts\u002Ftyped-fields","3.core-concepts\u002F3.typed-fields","i-simple-icons-typescript",{"title":101,"path":102,"stem":103,"icon":74},"Best Practices","\u002Fcore-concepts\u002Fbest-practices","3.core-concepts\u002F4.best-practices",{"title":105,"path":106,"stem":107,"icon":108},"Performance","\u002Fcore-concepts\u002Fperformance","3.core-concepts\u002F5.performance","i-lucide-gauge",{"title":110,"path":111,"stem":112,"icon":113},"Vite Plugin","\u002Fcore-concepts\u002Fvite-plugin","3.core-concepts\u002F6.vite-plugin","i-custom-vite",{"title":115,"path":116,"stem":117,"icon":118},"Auto-Redaction","\u002Fcore-concepts\u002Fredaction","3.core-concepts\u002F7.redaction","i-lucide-eye-off",{"title":120,"path":121,"stem":122,"children":123,"page":29},"Frameworks","\u002Fframeworks","4.frameworks",[124,128,133,138,143,148,153,158,163,168,173,178,183,188,192,197,202],{"title":36,"path":125,"stem":126,"icon":127},"\u002Fframeworks\u002Foverview","4.frameworks\u002F00.overview","i-lucide-layout-grid",{"title":129,"path":130,"stem":131,"icon":132},"Nuxt","\u002Fframeworks\u002Fnuxt","4.frameworks\u002F01.nuxt","i-simple-icons-nuxtdotjs",{"title":134,"path":135,"stem":136,"icon":137},"Next.js","\u002Fframeworks\u002Fnextjs","4.frameworks\u002F02.nextjs","i-simple-icons-nextdotjs",{"title":139,"path":140,"stem":141,"icon":142},"SvelteKit","\u002Fframeworks\u002Fsveltekit","4.frameworks\u002F03.sveltekit","i-simple-icons-svelte",{"title":144,"path":145,"stem":146,"icon":147},"Nitro","\u002Fframeworks\u002Fnitro","4.frameworks\u002F04.nitro","i-custom-nitro",{"title":149,"path":150,"stem":151,"icon":152},"TanStack Start","\u002Fframeworks\u002Ftanstack-start","4.frameworks\u002F05.tanstack-start","i-custom-tanstack",{"title":154,"path":155,"stem":156,"icon":157},"NestJS","\u002Fframeworks\u002Fnestjs","4.frameworks\u002F06.nestjs","i-simple-icons-nestjs",{"title":159,"path":160,"stem":161,"icon":162},"Express","\u002Fframeworks\u002Fexpress","4.frameworks\u002F07.express","i-simple-icons-express",{"title":164,"path":165,"stem":166,"icon":167},"Hono","\u002Fframeworks\u002Fhono","4.frameworks\u002F08.hono","i-simple-icons-hono",{"title":169,"path":170,"stem":171,"icon":172},"Fastify","\u002Fframeworks\u002Ffastify","4.frameworks\u002F09.fastify","i-simple-icons-fastify",{"title":174,"path":175,"stem":176,"icon":177},"Elysia","\u002Fframeworks\u002Felysia","4.frameworks\u002F10.elysia","i-custom-elysia",{"title":179,"path":180,"stem":181,"icon":182},"React Router","\u002Fframeworks\u002Freact-router","4.frameworks\u002F11.react-router","i-custom-reactrouter",{"title":184,"path":185,"stem":186,"icon":187},"Cloudflare Workers","\u002Fframeworks\u002Fcloudflare-workers","4.frameworks\u002F12.cloudflare-workers","i-simple-icons-cloudflare",{"title":189,"path":190,"stem":191,"icon":99},"Standalone","\u002Fframeworks\u002Fstandalone","4.frameworks\u002F13.standalone",{"title":193,"path":194,"stem":195,"icon":196},"Astro","\u002Fframeworks\u002Fastro","4.frameworks\u002F14.astro","i-simple-icons-astro",{"title":198,"path":199,"stem":200,"icon":201},"Custom Integration","\u002Fframeworks\u002Fcustom-integration","4.frameworks\u002F15.custom-integration","i-lucide-puzzle",{"title":203,"path":204,"stem":205,"icon":206},"AWS Lambda","\u002Fframeworks\u002Faws-lambda","4.frameworks\u002F16.aws-lambda","i-custom-lambda",{"title":208,"path":209,"stem":210,"children":211,"page":29},"Adapters","\u002Fadapters","5.adapters",[212,216,221,226,231,236,241,246,251,256,261,266],{"title":36,"path":213,"stem":214,"icon":215},"\u002Fadapters\u002Foverview","5.adapters\u002F1.overview","i-custom-plug",{"title":217,"path":218,"stem":219,"icon":220},"Custom Adapters","\u002Fadapters\u002Fcustom","5.adapters\u002F10.custom","i-lucide-code",{"title":222,"path":223,"stem":224,"icon":225},"Pipeline","\u002Fadapters\u002Fpipeline","5.adapters\u002F11.pipeline","i-lucide-workflow",{"title":227,"path":228,"stem":229,"icon":230},"HTTP","\u002Fadapters\u002Fhttp","5.adapters\u002F12.http","i-lucide-globe",{"title":232,"path":233,"stem":234,"icon":235},"Axiom","\u002Fadapters\u002Faxiom","5.adapters\u002F2.axiom","i-custom-axiom",{"title":237,"path":238,"stem":239,"icon":240},"OTLP","\u002Fadapters\u002Fotlp","5.adapters\u002F3.otlp","i-simple-icons-opentelemetry",{"title":242,"path":243,"stem":244,"icon":245},"PostHog","\u002Fadapters\u002Fposthog","5.adapters\u002F4.posthog","i-simple-icons-posthog",{"title":247,"path":248,"stem":249,"icon":250},"Sentry","\u002Fadapters\u002Fsentry","5.adapters\u002F5.sentry","i-simple-icons-sentry",{"title":252,"path":253,"stem":254,"icon":255},"Better Stack","\u002Fadapters\u002Fbetter-stack","5.adapters\u002F6.better-stack","i-simple-icons-betterstack",{"title":257,"path":258,"stem":259,"icon":260},"File System","\u002Fadapters\u002Ffs","5.adapters\u002F7.fs","i-lucide-hard-drive",{"title":262,"path":263,"stem":264,"icon":265},"Datadog","\u002Fadapters\u002Fdatadog","5.adapters\u002F8.datadog","i-simple-icons-datadog",{"title":267,"path":268,"stem":269,"icon":270},"HyperDX","\u002Fadapters\u002Fhyperdx","5.adapters\u002F9.hyperdx","i-custom-hyperdx",{"title":272,"path":273,"stem":274,"children":275,"page":29},"Enrichers","\u002Fenrichers","6.enrichers",[276,279,283],{"title":36,"path":277,"stem":278,"icon":28},"\u002Fenrichers\u002Foverview","6.enrichers\u002F1.overview",{"title":280,"path":281,"stem":282,"icon":201},"Built-in","\u002Fenrichers\u002Fbuilt-in","6.enrichers\u002F2.built-in",{"title":284,"path":285,"stem":286,"icon":220},"Custom","\u002Fenrichers\u002Fcustom","6.enrichers\u002F3.custom",{"title":288,"path":289,"stem":290,"children":291,"page":29},"NuxtHub","\u002Fnuxthub","7.nuxthub",[292,296],{"title":36,"path":293,"stem":294,"icon":295},"\u002Fnuxthub\u002Foverview","7.nuxthub\u002F1.overview","i-lucide-database",{"title":297,"path":298,"stem":299,"icon":300},"Retention","\u002Fnuxthub\u002Fretention","7.nuxthub\u002F2.retention","i-lucide-clock",{"id":302,"title":115,"body":303,"description":2073,"extension":2074,"links":2075,"meta":2080,"navigation":2081,"path":116,"seo":2082,"stem":117,"__hash__":2083},"docs\u002F3.core-concepts\u002F7.redaction.md",{"type":304,"value":305,"toc":2058},"minimark",[306,318,329,334,337,621,628,632,643,785,797,800,805,811,872,886,890,893,949,953,959,1042,1046,1049,1129,1133,1262,1280,1284,1287,1323,1330,1334,1337,1800,1804,1807,1921,1926,2028,2031,2035,2054],[307,308,309,310,314,315,317],"p",{},"Wide events capture comprehensive context, which makes it easy to accidentally log sensitive data. Auto-redaction scrubs PII from events ",[311,312,313],"strong",{},"before"," console output and ",[311,316,313],{}," any drain sees the data.",[307,319,320,323,324,328],{},[311,321,322],{},"Redaction is enabled by default in production"," (",[325,326,327],"code",{},"NODE_ENV === 'production'","). In development, it is off so you see full values for debugging. No configuration needed — just deploy.",[330,331,333],"h2",{"id":332},"opting-out","Opting Out",[307,335,336],{},"If you need to disable redaction in production:",[338,339,340,442,543],"code-group",{},[341,342,348],"pre",{"className":343,"code":344,"filename":345,"language":346,"meta":347,"style":347},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNuxtConfig({\n  modules: ['evlog\u002Fnuxt'],\n  evlog: {\n    redact: false,\n  },\n})\n","nuxt.config.ts","typescript","",[325,349,350,374,402,413,427,433],{"__ignoreMap":347},[351,352,355,359,362,366,370],"span",{"class":353,"line":354},"line",1,[351,356,358],{"class":357},"s7zQu","export",[351,360,361],{"class":357}," default",[351,363,365],{"class":364},"s2Zo4"," defineNuxtConfig",[351,367,369],{"class":368},"sTEyZ","(",[351,371,373],{"class":372},"sMK4o","{\n",[351,375,377,381,384,387,390,394,396,399],{"class":353,"line":376},2,[351,378,380],{"class":379},"swJcz","  modules",[351,382,383],{"class":372},":",[351,385,386],{"class":368}," [",[351,388,389],{"class":372},"'",[351,391,393],{"class":392},"sfazB","evlog\u002Fnuxt",[351,395,389],{"class":372},[351,397,398],{"class":368},"]",[351,400,401],{"class":372},",\n",[351,403,405,408,410],{"class":353,"line":404},3,[351,406,407],{"class":379},"  evlog",[351,409,383],{"class":372},[351,411,412],{"class":372}," {\n",[351,414,416,419,421,425],{"class":353,"line":415},4,[351,417,418],{"class":379},"    redact",[351,420,383],{"class":372},[351,422,424],{"class":423},"sfNiH"," false",[351,426,401],{"class":372},[351,428,430],{"class":353,"line":429},5,[351,431,432],{"class":372},"  },\n",[351,434,436,439],{"class":353,"line":435},6,[351,437,438],{"class":372},"}",[351,440,441],{"class":368},")\n",[341,443,446],{"className":343,"code":444,"filename":445,"language":346,"meta":347,"style":347},"import { createEvlog } from 'evlog\u002Fnext'\n\nexport const { withEvlog, useLogger } = createEvlog({\n  service: 'my-app',\n  redact: false,\n})\n","lib\u002Fevlog.ts (Next.js)",[325,447,448,474,480,510,526,537],{"__ignoreMap":347},[351,449,450,453,456,459,462,465,468,471],{"class":353,"line":354},[351,451,452],{"class":357},"import",[351,454,455],{"class":372}," {",[351,457,458],{"class":368}," createEvlog",[351,460,461],{"class":372}," }",[351,463,464],{"class":357}," from",[351,466,467],{"class":372}," '",[351,469,470],{"class":392},"evlog\u002Fnext",[351,472,473],{"class":372},"'\n",[351,475,476],{"class":353,"line":376},[351,477,479],{"emptyLinePlaceholder":478},true,"\n",[351,481,482,484,488,490,493,496,499,501,504,506,508],{"class":353,"line":404},[351,483,358],{"class":357},[351,485,487],{"class":486},"spNyl"," const",[351,489,455],{"class":372},[351,491,492],{"class":368}," withEvlog",[351,494,495],{"class":372},",",[351,497,498],{"class":368}," useLogger ",[351,500,438],{"class":372},[351,502,503],{"class":372}," =",[351,505,458],{"class":364},[351,507,369],{"class":368},[351,509,373],{"class":372},[351,511,512,515,517,519,522,524],{"class":353,"line":415},[351,513,514],{"class":379},"  service",[351,516,383],{"class":372},[351,518,467],{"class":372},[351,520,521],{"class":392},"my-app",[351,523,389],{"class":372},[351,525,401],{"class":372},[351,527,528,531,533,535],{"class":353,"line":429},[351,529,530],{"class":379},"  redact",[351,532,383],{"class":372},[351,534,424],{"class":423},[351,536,401],{"class":372},[351,538,539,541],{"class":353,"line":435},[351,540,438],{"class":372},[351,542,441],{"class":368},[341,544,547],{"className":343,"code":545,"filename":546,"language":346,"meta":347,"style":347},"import { initLogger } from 'evlog'\n\ninitLogger({\n  env: { service: 'my-app' },\n  redact: false,\n})\n","index.ts (Hono \u002F Express \u002F Fastify)",[325,548,549,569,573,582,605,615],{"__ignoreMap":347},[351,550,551,553,555,558,560,562,564,567],{"class":353,"line":354},[351,552,452],{"class":357},[351,554,455],{"class":372},[351,556,557],{"class":368}," initLogger",[351,559,461],{"class":372},[351,561,464],{"class":357},[351,563,467],{"class":372},[351,565,566],{"class":392},"evlog",[351,568,473],{"class":372},[351,570,571],{"class":353,"line":376},[351,572,479],{"emptyLinePlaceholder":478},[351,574,575,578,580],{"class":353,"line":404},[351,576,577],{"class":364},"initLogger",[351,579,369],{"class":368},[351,581,373],{"class":372},[351,583,584,587,589,591,594,596,598,600,602],{"class":353,"line":415},[351,585,586],{"class":379},"  env",[351,588,383],{"class":372},[351,590,455],{"class":372},[351,592,593],{"class":379}," service",[351,595,383],{"class":372},[351,597,467],{"class":372},[351,599,521],{"class":392},[351,601,389],{"class":372},[351,603,604],{"class":372}," },\n",[351,606,607,609,611,613],{"class":353,"line":429},[351,608,530],{"class":379},[351,610,383],{"class":372},[351,612,424],{"class":423},[351,614,401],{"class":372},[351,616,617,619],{"class":353,"line":435},[351,618,438],{"class":372},[351,620,441],{"class":368},[307,622,623,624,627],{},"You can also enable redaction explicitly in development with ",[325,625,626],{},"redact: true",".",[330,629,631],{"id":630},"smart-masking","Smart Masking",[307,633,634,635,638,639,642],{},"Built-in patterns use ",[311,636,637],{},"partial masking"," instead of flat ",[325,640,641],{},"[REDACTED]"," — preserving enough context for debugging while protecting the actual data.",[644,645,646,662],"table",{},[647,648,649],"thead",{},[650,651,652,656,659],"tr",{},[653,654,655],"th",{},"Pattern",[653,657,658],{},"Example Input",[653,660,661],{},"Masked Output",[663,664,665,683,700,717,734,751,768],"tbody",{},[650,666,667,673,678],{},[668,669,670],"td",{},[325,671,672],{},"creditCard",[668,674,675],{},[325,676,677],{},"4111111111111111",[668,679,680],{},[325,681,682],{},"****1111",[650,684,685,690,695],{},[668,686,687],{},[325,688,689],{},"email",[668,691,692],{},[325,693,694],{},"alice@example.com",[668,696,697],{},[325,698,699],{},"a***@***.com",[650,701,702,707,712],{},[668,703,704],{},[325,705,706],{},"ipv4",[668,708,709],{},[325,710,711],{},"192.168.1.100",[668,713,714],{},[325,715,716],{},"***.***.***.100",[650,718,719,724,729],{},[668,720,721],{},[325,722,723],{},"phone",[668,725,726],{},[325,727,728],{},"+33 6 12 34 56 78",[668,730,731],{},[325,732,733],{},"+33 ****5678",[650,735,736,741,746],{},[668,737,738],{},[325,739,740],{},"jwt",[668,742,743],{},[325,744,745],{},"eyJhbGciOiJIUzI1NiIs...",[668,747,748],{},[325,749,750],{},"eyJ***.***",[650,752,753,758,763],{},[668,754,755],{},[325,756,757],{},"bearer",[668,759,760],{},[325,761,762],{},"Bearer sk_live_abc123...",[668,764,765],{},[325,766,767],{},"Bearer ***",[650,769,770,775,780],{},[668,771,772],{},[325,773,774],{},"iban",[668,776,777],{},[325,778,779],{},"FR76 3000 6000 0112 ...189",[668,781,782],{},[325,783,784],{},"FR76****189",[786,787,789,792,793,796],"callout",{"color":788,"icon":13},"info",[325,790,791],{},"127.0.0.1"," and ",[325,794,795],{},"0.0.0.0"," are excluded from IPv4 masking since they are not real client addresses.",[330,798,86],{"id":799},"configuration",[801,802,804],"h3",{"id":803},"custom-paths","Custom Paths",[307,806,807,808,810],{},"Add dot-notation paths to redact specific fields with ",[325,809,641],{},", on top of the built-in patterns:",[341,812,814],{"className":343,"code":813,"language":346,"meta":347,"style":347},"evlog: {\n  redact: {\n    paths: ['user.password', 'headers.authorization'],\n  }\n}\n",[325,815,816,825,833,862,867],{"__ignoreMap":347},[351,817,818,821,823],{"class":353,"line":354},[351,819,566],{"class":820},"sBMFI",[351,822,383],{"class":372},[351,824,412],{"class":372},[351,826,827,829,831],{"class":353,"line":376},[351,828,530],{"class":820},[351,830,383],{"class":372},[351,832,412],{"class":372},[351,834,835,838,840,842,844,847,849,851,853,856,858,860],{"class":353,"line":404},[351,836,837],{"class":820},"    paths",[351,839,383],{"class":372},[351,841,386],{"class":379},[351,843,389],{"class":372},[351,845,846],{"class":392},"user.password",[351,848,389],{"class":372},[351,850,495],{"class":372},[351,852,467],{"class":372},[351,854,855],{"class":392},"headers.authorization",[351,857,389],{"class":372},[351,859,398],{"class":379},[351,861,401],{"class":372},[351,863,864],{"class":353,"line":415},[351,865,866],{"class":372},"  }\n",[351,868,869],{"class":353,"line":429},[351,870,871],{"class":372},"}\n",[307,873,874,875,878,879,882,883,885],{},"Path-based redaction replaces the ",[311,876,877],{},"entire value"," with the ",[325,880,881],{},"replacement"," string (default ",[325,884,641],{},"), regardless of content.",[801,887,889],{"id":888},"selective-built-ins","Selective Built-ins",[307,891,892],{},"Pick only the patterns you need:",[341,894,896],{"className":343,"code":895,"language":346,"meta":347,"style":347},"evlog: {\n  redact: {\n    builtins: ['email', 'creditCard'],\n  }\n}\n",[325,897,898,906,914,941,945],{"__ignoreMap":347},[351,899,900,902,904],{"class":353,"line":354},[351,901,566],{"class":820},[351,903,383],{"class":372},[351,905,412],{"class":372},[351,907,908,910,912],{"class":353,"line":376},[351,909,530],{"class":820},[351,911,383],{"class":372},[351,913,412],{"class":372},[351,915,916,919,921,923,925,927,929,931,933,935,937,939],{"class":353,"line":404},[351,917,918],{"class":820},"    builtins",[351,920,383],{"class":372},[351,922,386],{"class":379},[351,924,389],{"class":372},[351,926,689],{"class":392},[351,928,389],{"class":372},[351,930,495],{"class":372},[351,932,467],{"class":372},[351,934,672],{"class":392},[351,936,389],{"class":372},[351,938,398],{"class":379},[351,940,401],{"class":372},[351,942,943],{"class":353,"line":415},[351,944,866],{"class":372},[351,946,947],{"class":353,"line":429},[351,948,871],{"class":372},[801,950,952],{"id":951},"custom-patterns","Custom Patterns",[307,954,955,956,958],{},"Add your own regex patterns. These use the flat ",[325,957,881],{}," string, not smart masking:",[341,960,962],{"className":343,"code":961,"language":346,"meta":347,"style":347},"evlog: {\n  redact: {\n    patterns: [\u002FSECRET_\\w+\u002Fg, \u002Fsk_live_\\w+\u002Fg],\n    replacement: '***',\n  }\n}\n",[325,963,964,972,980,1018,1034,1038],{"__ignoreMap":347},[351,965,966,968,970],{"class":353,"line":354},[351,967,566],{"class":820},[351,969,383],{"class":372},[351,971,412],{"class":372},[351,973,974,976,978],{"class":353,"line":376},[351,975,530],{"class":820},[351,977,383],{"class":372},[351,979,412],{"class":372},[351,981,982,985,987,989,992,995,998,1002,1004,1007,1010,1012,1014,1016],{"class":353,"line":404},[351,983,984],{"class":820},"    patterns",[351,986,383],{"class":372},[351,988,386],{"class":379},[351,990,991],{"class":372},"\u002F",[351,993,994],{"class":392},"SECRET_\\w",[351,996,997],{"class":372},"+\u002F",[351,999,1001],{"class":1000},"sbssI","g",[351,1003,495],{"class":372},[351,1005,1006],{"class":372}," \u002F",[351,1008,1009],{"class":392},"sk_live_\\w",[351,1011,997],{"class":372},[351,1013,1001],{"class":1000},[351,1015,398],{"class":379},[351,1017,401],{"class":372},[351,1019,1020,1023,1025,1027,1030,1032],{"class":353,"line":415},[351,1021,1022],{"class":820},"    replacement",[351,1024,383],{"class":372},[351,1026,467],{"class":372},[351,1028,1029],{"class":392},"***",[351,1031,389],{"class":372},[351,1033,401],{"class":372},[351,1035,1036],{"class":353,"line":429},[351,1037,866],{"class":372},[351,1039,1040],{"class":353,"line":435},[351,1041,871],{"class":372},[801,1043,1045],{"id":1044},"disable-built-ins","Disable Built-ins",[307,1047,1048],{},"If you only want custom redaction:",[341,1050,1052],{"className":343,"code":1051,"language":346,"meta":347,"style":347},"evlog: {\n  redact: {\n    builtins: false,\n    paths: ['user.ssn'],\n    patterns: [\u002FINTERNAL_\\w+\u002Fg],\n  }\n}\n",[325,1053,1054,1062,1070,1080,1099,1120,1124],{"__ignoreMap":347},[351,1055,1056,1058,1060],{"class":353,"line":354},[351,1057,566],{"class":820},[351,1059,383],{"class":372},[351,1061,412],{"class":372},[351,1063,1064,1066,1068],{"class":353,"line":376},[351,1065,530],{"class":820},[351,1067,383],{"class":372},[351,1069,412],{"class":372},[351,1071,1072,1074,1076,1078],{"class":353,"line":404},[351,1073,918],{"class":820},[351,1075,383],{"class":372},[351,1077,424],{"class":423},[351,1079,401],{"class":372},[351,1081,1082,1084,1086,1088,1090,1093,1095,1097],{"class":353,"line":415},[351,1083,837],{"class":820},[351,1085,383],{"class":372},[351,1087,386],{"class":379},[351,1089,389],{"class":372},[351,1091,1092],{"class":392},"user.ssn",[351,1094,389],{"class":372},[351,1096,398],{"class":379},[351,1098,401],{"class":372},[351,1100,1101,1103,1105,1107,1109,1112,1114,1116,1118],{"class":353,"line":429},[351,1102,984],{"class":820},[351,1104,383],{"class":372},[351,1106,386],{"class":379},[351,1108,991],{"class":372},[351,1110,1111],{"class":392},"INTERNAL_\\w",[351,1113,997],{"class":372},[351,1115,1001],{"class":1000},[351,1117,398],{"class":379},[351,1119,401],{"class":372},[351,1121,1122],{"class":353,"line":435},[351,1123,866],{"class":372},[351,1125,1127],{"class":353,"line":1126},7,[351,1128,871],{"class":372},[330,1130,1132],{"id":1131},"configuration-reference","Configuration Reference",[644,1134,1135,1151],{},[647,1136,1137],{},[650,1138,1139,1142,1145,1148],{},[653,1140,1141],{},"Option",[653,1143,1144],{},"Type",[653,1146,1147],{},"Default",[653,1149,1150],{},"Description",[663,1152,1153,1178,1201,1223,1243],{},[650,1154,1155,1160,1165,1171],{},[668,1156,1157],{},[325,1158,1159],{},"redact",[668,1161,1162],{},[325,1163,1164],{},"boolean | RedactConfig",[668,1166,1167,1170],{},[325,1168,1169],{},"true"," in production",[668,1172,1173,1174,1177],{},"Enabled by default in production. ",[325,1175,1176],{},"false"," to disable. Object for fine-grained control",[650,1179,1180,1185,1190,1195],{},[668,1181,1182],{},[325,1183,1184],{},"paths",[668,1186,1187],{},[325,1188,1189],{},"string[]",[668,1191,1192],{},[325,1193,1194],{},"undefined",[668,1196,1197,1198,1200],{},"Dot-notation paths to redact entirely (e.g. ",[325,1199,846],{},")",[650,1202,1203,1208,1213,1217],{},[668,1204,1205],{},[325,1206,1207],{},"patterns",[668,1209,1210],{},[325,1211,1212],{},"RegExp[]",[668,1214,1215],{},[325,1216,1194],{},[668,1218,1219,1220,1222],{},"Custom regex patterns. Uses flat ",[325,1221,881],{}," string",[650,1224,1225,1230,1235,1238],{},[668,1226,1227],{},[325,1228,1229],{},"builtins",[668,1231,1232],{},[325,1233,1234],{},"false | string[]",[668,1236,1237],{},"All enabled",[668,1239,1240,1242],{},[325,1241,1176],{}," disables built-ins. Array selects specific ones",[650,1244,1245,1249,1254,1259],{},[668,1246,1247],{},[325,1248,881],{},[668,1250,1251],{},[325,1252,1253],{},"string",[668,1255,1256],{},[325,1257,1258],{},"'[REDACTED]'",[668,1260,1261],{},"Replacement string for paths and custom patterns. Built-in patterns use smart masking instead",[307,1263,1264,1265,1267,1268,1267,1270,1267,1272,1267,1274,1267,1276,1267,1278,627],{},"Available built-in names: ",[325,1266,672],{},", ",[325,1269,689],{},[325,1271,706],{},[325,1273,723],{},[325,1275,740],{},[325,1277,757],{},[325,1279,774],{},[330,1281,1283],{"id":1282},"how-it-works","How It Works",[307,1285,1286],{},"Redaction runs inside the emit pipeline, after the wide event is fully built but before any output:",[1288,1289,1290,1299,1305,1311,1317],"ol",{},[1291,1292,1293,1296,1297],"li",{},[311,1294,1295],{},"Path redaction"," — targeted fields replaced with ",[325,1298,641],{},[1291,1300,1301,1304],{},[311,1302,1303],{},"Smart masking"," — built-in patterns scan all string values recursively with partial masking",[1291,1306,1307,1310],{},[311,1308,1309],{},"Pattern redaction"," — custom regex patterns scan all string values with flat replacement",[1291,1312,1313,1316],{},[311,1314,1315],{},"Console output"," — masked event printed to stdout",[1291,1318,1319,1322],{},[311,1320,1321],{},"Drain"," — masked event sent to external services",[786,1324,1325,1326,1329],{"color":788,"icon":23},"Redaction runs ",[311,1327,1328],{},"after"," the HTTP response is sent, so it adds zero latency to your API responses.",[330,1331,1333],{"id":1332},"production-example","Production Example",[307,1335,1336],{},"Redaction is already on by default in production. Combine with sampling for a typical setup:",[338,1338,1339,1529,1671],{},[341,1340,1342],{"className":343,"code":1341,"filename":345,"language":346,"meta":347,"style":347},"export default defineNuxtConfig({\n  modules: ['evlog\u002Fnuxt'],\n  evlog: {\n    env: { service: 'my-app' },\n  },\n  $production: {\n    evlog: {\n      sampling: {\n        rates: { info: 10, debug: 0 },\n        keep: [{ status: 400 }, { duration: 1000 }],\n      },\n    },\n  },\n})\n",[325,1343,1344,1356,1374,1382,1403,1407,1416,1425,1435,1465,1505,1511,1517,1522],{"__ignoreMap":347},[351,1345,1346,1348,1350,1352,1354],{"class":353,"line":354},[351,1347,358],{"class":357},[351,1349,361],{"class":357},[351,1351,365],{"class":364},[351,1353,369],{"class":368},[351,1355,373],{"class":372},[351,1357,1358,1360,1362,1364,1366,1368,1370,1372],{"class":353,"line":376},[351,1359,380],{"class":379},[351,1361,383],{"class":372},[351,1363,386],{"class":368},[351,1365,389],{"class":372},[351,1367,393],{"class":392},[351,1369,389],{"class":372},[351,1371,398],{"class":368},[351,1373,401],{"class":372},[351,1375,1376,1378,1380],{"class":353,"line":404},[351,1377,407],{"class":379},[351,1379,383],{"class":372},[351,1381,412],{"class":372},[351,1383,1384,1387,1389,1391,1393,1395,1397,1399,1401],{"class":353,"line":415},[351,1385,1386],{"class":379},"    env",[351,1388,383],{"class":372},[351,1390,455],{"class":372},[351,1392,593],{"class":379},[351,1394,383],{"class":372},[351,1396,467],{"class":372},[351,1398,521],{"class":392},[351,1400,389],{"class":372},[351,1402,604],{"class":372},[351,1404,1405],{"class":353,"line":429},[351,1406,432],{"class":372},[351,1408,1409,1412,1414],{"class":353,"line":435},[351,1410,1411],{"class":379},"  $production",[351,1413,383],{"class":372},[351,1415,412],{"class":372},[351,1417,1418,1421,1423],{"class":353,"line":1126},[351,1419,1420],{"class":379},"    evlog",[351,1422,383],{"class":372},[351,1424,412],{"class":372},[351,1426,1428,1431,1433],{"class":353,"line":1427},8,[351,1429,1430],{"class":379},"      sampling",[351,1432,383],{"class":372},[351,1434,412],{"class":372},[351,1436,1438,1441,1443,1445,1448,1450,1453,1455,1458,1460,1463],{"class":353,"line":1437},9,[351,1439,1440],{"class":379},"        rates",[351,1442,383],{"class":372},[351,1444,455],{"class":372},[351,1446,1447],{"class":379}," info",[351,1449,383],{"class":372},[351,1451,1452],{"class":1000}," 10",[351,1454,495],{"class":372},[351,1456,1457],{"class":379}," debug",[351,1459,383],{"class":372},[351,1461,1462],{"class":1000}," 0",[351,1464,604],{"class":372},[351,1466,1468,1471,1473,1475,1478,1481,1483,1486,1489,1491,1494,1496,1499,1501,1503],{"class":353,"line":1467},10,[351,1469,1470],{"class":379},"        keep",[351,1472,383],{"class":372},[351,1474,386],{"class":368},[351,1476,1477],{"class":372},"{",[351,1479,1480],{"class":379}," status",[351,1482,383],{"class":372},[351,1484,1485],{"class":1000}," 400",[351,1487,1488],{"class":372}," },",[351,1490,455],{"class":372},[351,1492,1493],{"class":379}," duration",[351,1495,383],{"class":372},[351,1497,1498],{"class":1000}," 1000",[351,1500,461],{"class":372},[351,1502,398],{"class":368},[351,1504,401],{"class":372},[351,1506,1508],{"class":353,"line":1507},11,[351,1509,1510],{"class":372},"      },\n",[351,1512,1514],{"class":353,"line":1513},12,[351,1515,1516],{"class":372},"    },\n",[351,1518,1520],{"class":353,"line":1519},13,[351,1521,432],{"class":372},[351,1523,1525,1527],{"class":353,"line":1524},14,[351,1526,438],{"class":372},[351,1528,441],{"class":368},[341,1530,1532],{"className":343,"code":1531,"filename":445,"language":346,"meta":347,"style":347},"import { createEvlog } from 'evlog\u002Fnext'\n\nexport const { withEvlog, useLogger } = createEvlog({\n  service: 'my-app',\n  sampling: {\n    rates: { info: 10, debug: 0 },\n    keep: [{ status: 400 }, { duration: 1000 }],\n  },\n})\n",[325,1533,1534,1552,1556,1580,1594,1603,1628,1661,1665],{"__ignoreMap":347},[351,1535,1536,1538,1540,1542,1544,1546,1548,1550],{"class":353,"line":354},[351,1537,452],{"class":357},[351,1539,455],{"class":372},[351,1541,458],{"class":368},[351,1543,461],{"class":372},[351,1545,464],{"class":357},[351,1547,467],{"class":372},[351,1549,470],{"class":392},[351,1551,473],{"class":372},[351,1553,1554],{"class":353,"line":376},[351,1555,479],{"emptyLinePlaceholder":478},[351,1557,1558,1560,1562,1564,1566,1568,1570,1572,1574,1576,1578],{"class":353,"line":404},[351,1559,358],{"class":357},[351,1561,487],{"class":486},[351,1563,455],{"class":372},[351,1565,492],{"class":368},[351,1567,495],{"class":372},[351,1569,498],{"class":368},[351,1571,438],{"class":372},[351,1573,503],{"class":372},[351,1575,458],{"class":364},[351,1577,369],{"class":368},[351,1579,373],{"class":372},[351,1581,1582,1584,1586,1588,1590,1592],{"class":353,"line":415},[351,1583,514],{"class":379},[351,1585,383],{"class":372},[351,1587,467],{"class":372},[351,1589,521],{"class":392},[351,1591,389],{"class":372},[351,1593,401],{"class":372},[351,1595,1596,1599,1601],{"class":353,"line":429},[351,1597,1598],{"class":379},"  sampling",[351,1600,383],{"class":372},[351,1602,412],{"class":372},[351,1604,1605,1608,1610,1612,1614,1616,1618,1620,1622,1624,1626],{"class":353,"line":435},[351,1606,1607],{"class":379},"    rates",[351,1609,383],{"class":372},[351,1611,455],{"class":372},[351,1613,1447],{"class":379},[351,1615,383],{"class":372},[351,1617,1452],{"class":1000},[351,1619,495],{"class":372},[351,1621,1457],{"class":379},[351,1623,383],{"class":372},[351,1625,1462],{"class":1000},[351,1627,604],{"class":372},[351,1629,1630,1633,1635,1637,1639,1641,1643,1645,1647,1649,1651,1653,1655,1657,1659],{"class":353,"line":1126},[351,1631,1632],{"class":379},"    keep",[351,1634,383],{"class":372},[351,1636,386],{"class":368},[351,1638,1477],{"class":372},[351,1640,1480],{"class":379},[351,1642,383],{"class":372},[351,1644,1485],{"class":1000},[351,1646,1488],{"class":372},[351,1648,455],{"class":372},[351,1650,1493],{"class":379},[351,1652,383],{"class":372},[351,1654,1498],{"class":1000},[351,1656,461],{"class":372},[351,1658,398],{"class":368},[351,1660,401],{"class":372},[351,1662,1663],{"class":353,"line":1427},[351,1664,432],{"class":372},[351,1666,1667,1669],{"class":353,"line":1437},[351,1668,438],{"class":372},[351,1670,441],{"class":368},[341,1672,1674],{"className":343,"code":1673,"filename":546,"language":346,"meta":347,"style":347},"import { initLogger } from 'evlog'\n\ninitLogger({\n  env: { service: 'my-app' },\n  sampling: {\n    rates: { info: 10, debug: 0 },\n    keep: [{ status: 400 }, { duration: 1000 }],\n  },\n})\n",[325,1675,1676,1694,1698,1706,1726,1734,1758,1790,1794],{"__ignoreMap":347},[351,1677,1678,1680,1682,1684,1686,1688,1690,1692],{"class":353,"line":354},[351,1679,452],{"class":357},[351,1681,455],{"class":372},[351,1683,557],{"class":368},[351,1685,461],{"class":372},[351,1687,464],{"class":357},[351,1689,467],{"class":372},[351,1691,566],{"class":392},[351,1693,473],{"class":372},[351,1695,1696],{"class":353,"line":376},[351,1697,479],{"emptyLinePlaceholder":478},[351,1699,1700,1702,1704],{"class":353,"line":404},[351,1701,577],{"class":364},[351,1703,369],{"class":368},[351,1705,373],{"class":372},[351,1707,1708,1710,1712,1714,1716,1718,1720,1722,1724],{"class":353,"line":415},[351,1709,586],{"class":379},[351,1711,383],{"class":372},[351,1713,455],{"class":372},[351,1715,593],{"class":379},[351,1717,383],{"class":372},[351,1719,467],{"class":372},[351,1721,521],{"class":392},[351,1723,389],{"class":372},[351,1725,604],{"class":372},[351,1727,1728,1730,1732],{"class":353,"line":429},[351,1729,1598],{"class":379},[351,1731,383],{"class":372},[351,1733,412],{"class":372},[351,1735,1736,1738,1740,1742,1744,1746,1748,1750,1752,1754,1756],{"class":353,"line":435},[351,1737,1607],{"class":379},[351,1739,383],{"class":372},[351,1741,455],{"class":372},[351,1743,1447],{"class":379},[351,1745,383],{"class":372},[351,1747,1452],{"class":1000},[351,1749,495],{"class":372},[351,1751,1457],{"class":379},[351,1753,383],{"class":372},[351,1755,1462],{"class":1000},[351,1757,604],{"class":372},[351,1759,1760,1762,1764,1766,1768,1770,1772,1774,1776,1778,1780,1782,1784,1786,1788],{"class":353,"line":1126},[351,1761,1632],{"class":379},[351,1763,383],{"class":372},[351,1765,386],{"class":368},[351,1767,1477],{"class":372},[351,1769,1480],{"class":379},[351,1771,383],{"class":372},[351,1773,1485],{"class":1000},[351,1775,1488],{"class":372},[351,1777,455],{"class":372},[351,1779,1493],{"class":379},[351,1781,383],{"class":372},[351,1783,1498],{"class":1000},[351,1785,461],{"class":372},[351,1787,398],{"class":368},[351,1789,401],{"class":372},[351,1791,1792],{"class":353,"line":1427},[351,1793,432],{"class":372},[351,1795,1796,1798],{"class":353,"line":1437},[351,1797,438],{"class":372},[351,1799,441],{"class":368},[330,1801,1803],{"id":1802},"before-after","Before \u002F After",[307,1805,1806],{},"Without redaction, sensitive data lands in your logs and drains:",[341,1808,1812],{"className":1809,"code":1810,"language":1811,"meta":347,"style":347},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"user\": { \"email\": \"alice@example.com\", \"ip\": \"192.168.1.42\" },\n  \"payment\": { \"card\": \"4111111111111111\" },\n  \"auth\": \"Bearer sk_live_abc123def456\"\n}\n","json",[325,1813,1814,1818,1868,1898,1917],{"__ignoreMap":347},[351,1815,1816],{"class":353,"line":354},[351,1817,373],{"class":372},[351,1819,1820,1823,1826,1829,1831,1833,1836,1838,1840,1842,1844,1846,1848,1850,1852,1855,1857,1859,1861,1864,1866],{"class":353,"line":376},[351,1821,1822],{"class":372},"  \"",[351,1824,1825],{"class":486},"user",[351,1827,1828],{"class":372},"\"",[351,1830,383],{"class":372},[351,1832,455],{"class":372},[351,1834,1835],{"class":372}," \"",[351,1837,689],{"class":820},[351,1839,1828],{"class":372},[351,1841,383],{"class":372},[351,1843,1835],{"class":372},[351,1845,694],{"class":392},[351,1847,1828],{"class":372},[351,1849,495],{"class":372},[351,1851,1835],{"class":372},[351,1853,1854],{"class":820},"ip",[351,1856,1828],{"class":372},[351,1858,383],{"class":372},[351,1860,1835],{"class":372},[351,1862,1863],{"class":392},"192.168.1.42",[351,1865,1828],{"class":372},[351,1867,604],{"class":372},[351,1869,1870,1872,1875,1877,1879,1881,1883,1886,1888,1890,1892,1894,1896],{"class":353,"line":404},[351,1871,1822],{"class":372},[351,1873,1874],{"class":486},"payment",[351,1876,1828],{"class":372},[351,1878,383],{"class":372},[351,1880,455],{"class":372},[351,1882,1835],{"class":372},[351,1884,1885],{"class":820},"card",[351,1887,1828],{"class":372},[351,1889,383],{"class":372},[351,1891,1835],{"class":372},[351,1893,677],{"class":392},[351,1895,1828],{"class":372},[351,1897,604],{"class":372},[351,1899,1900,1902,1905,1907,1909,1911,1914],{"class":353,"line":415},[351,1901,1822],{"class":372},[351,1903,1904],{"class":486},"auth",[351,1906,1828],{"class":372},[351,1908,383],{"class":372},[351,1910,1835],{"class":372},[351,1912,1913],{"class":392},"Bearer sk_live_abc123def456",[351,1915,1916],{"class":372},"\"\n",[351,1918,1919],{"class":353,"line":429},[351,1920,871],{"class":372},[307,1922,1923,1924,383],{},"With ",[325,1925,626],{},[341,1927,1929],{"className":1809,"code":1928,"language":1811,"meta":347,"style":347},"{\n  \"user\": { \"email\": \"a***@***.com\", \"ip\": \"***.***.***.42\" },\n  \"payment\": { \"card\": \"****1111\" },\n  \"auth\": \"Bearer ***\"\n}\n",[325,1930,1931,1935,1980,2008,2024],{"__ignoreMap":347},[351,1932,1933],{"class":353,"line":354},[351,1934,373],{"class":372},[351,1936,1937,1939,1941,1943,1945,1947,1949,1951,1953,1955,1957,1959,1961,1963,1965,1967,1969,1971,1973,1976,1978],{"class":353,"line":376},[351,1938,1822],{"class":372},[351,1940,1825],{"class":486},[351,1942,1828],{"class":372},[351,1944,383],{"class":372},[351,1946,455],{"class":372},[351,1948,1835],{"class":372},[351,1950,689],{"class":820},[351,1952,1828],{"class":372},[351,1954,383],{"class":372},[351,1956,1835],{"class":372},[351,1958,699],{"class":392},[351,1960,1828],{"class":372},[351,1962,495],{"class":372},[351,1964,1835],{"class":372},[351,1966,1854],{"class":820},[351,1968,1828],{"class":372},[351,1970,383],{"class":372},[351,1972,1835],{"class":372},[351,1974,1975],{"class":392},"***.***.***.42",[351,1977,1828],{"class":372},[351,1979,604],{"class":372},[351,1981,1982,1984,1986,1988,1990,1992,1994,1996,1998,2000,2002,2004,2006],{"class":353,"line":404},[351,1983,1822],{"class":372},[351,1985,1874],{"class":486},[351,1987,1828],{"class":372},[351,1989,383],{"class":372},[351,1991,455],{"class":372},[351,1993,1835],{"class":372},[351,1995,1885],{"class":820},[351,1997,1828],{"class":372},[351,1999,383],{"class":372},[351,2001,1835],{"class":372},[351,2003,682],{"class":392},[351,2005,1828],{"class":372},[351,2007,604],{"class":372},[351,2009,2010,2012,2014,2016,2018,2020,2022],{"class":353,"line":415},[351,2011,1822],{"class":372},[351,2013,1904],{"class":486},[351,2015,1828],{"class":372},[351,2017,383],{"class":372},[351,2019,1835],{"class":372},[351,2021,767],{"class":392},[351,2023,1916],{"class":372},[351,2025,2026],{"class":353,"line":429},[351,2027,871],{"class":372},[307,2029,2030],{},"Same debugging context, no PII in your Axiom\u002FDatadog\u002FSentry.",[330,2032,2034],{"id":2033},"next-steps","Next Steps",[2036,2037,2038,2044,2049],"ul",{},[1291,2039,2040,2043],{},[2041,2042,101],"a",{"href":102}," - Security guidelines and production checklist",[1291,2045,2046,2048],{},[2041,2047,91],{"href":92}," - Control log volume in production",[1291,2050,2051,2053],{},[2041,2052,86],{"href":87}," - Full configuration reference",[2055,2056,2057],"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 .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":347,"searchDepth":376,"depth":376,"links":2059},[2060,2061,2062,2068,2069,2070,2071,2072],{"id":332,"depth":376,"text":333},{"id":630,"depth":376,"text":631},{"id":799,"depth":376,"text":86,"children":2063},[2064,2065,2066,2067],{"id":803,"depth":404,"text":804},{"id":888,"depth":404,"text":889},{"id":951,"depth":404,"text":952},{"id":1044,"depth":404,"text":1045},{"id":1131,"depth":376,"text":1132},{"id":1282,"depth":376,"text":1283},{"id":1332,"depth":376,"text":1333},{"id":1802,"depth":376,"text":1803},{"id":2033,"depth":376,"text":2034},"Automatically scrub PII from wide events before console output and drains. Built-in smart masking for credit cards, emails, IPs, phone numbers, JWTs, and more.","md",[2076,2079],{"label":101,"icon":74,"to":102,"color":2077,"variant":2078},"neutral","subtle",{"label":86,"icon":89,"to":87,"color":2077,"variant":2078},{},{"icon":118},{"title":115,"description":2073},"M1JCokTraxJu5E5CmDGzv7o9BSdLtKzzElAzqwddNaw",[2085,2087],{"title":110,"path":111,"stem":112,"description":2086,"icon":113,"children":-1},"Build-time optimizations for any Vite-based framework. Auto-init, debug stripping, source location injection, and optional auto-imports.",{"title":36,"path":125,"stem":126,"description":2088,"icon":127,"children":-1},"evlog supports every major TypeScript framework. Choose your stack and get started in minutes.",1777048039389]