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