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