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