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