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