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