[{"data":1,"prerenderedAt":1673},["ShallowReactive",2],{"navigation_docs":3,"-compare-logtape":567,"-compare-logtape-surround":1668},[4,30,80,133,313,444,503,542],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Start","\u002Fstart","1.start",[9,14,19,24],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fstart\u002Fintroduction","1.start\u002F1.introduction","i-lucide-info",{"title":15,"path":16,"stem":17,"icon":18},"Why start with evlog","\u002Fstart\u002Fwhy-evlog","1.start\u002F2.why-evlog","i-lucide-rocket",{"title":20,"path":21,"stem":22,"icon":23},"Installation","\u002Fstart\u002Finstallation","1.start\u002F3.installation","i-lucide-download",{"title":25,"path":26,"stem":27,"icon":28},"Quick Start","\u002Fstart\u002Fquick-start","1.start\u002F4.quick-start","i-lucide-zap",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"Learn","\u002Flearn","2.learn",[35,40,45,50,55,60,65,70,75],{"title":36,"path":37,"stem":38,"icon":39},"Overview","\u002Flearn\u002Foverview","2.learn\u002F0.overview","i-lucide-list",{"title":41,"path":42,"stem":43,"icon":44},"Simple Logging","\u002Flearn\u002Fsimple-logging","2.learn\u002F1.simple-logging","i-lucide-terminal",{"title":46,"path":47,"stem":48,"icon":49},"Wide Events","\u002Flearn\u002Fwide-events","2.learn\u002F2.wide-events","i-lucide-layers",{"title":51,"path":52,"stem":53,"icon":54},"Structured Errors","\u002Flearn\u002Fstructured-errors","2.learn\u002F3.structured-errors","i-lucide-shield-alert",{"title":56,"path":57,"stem":58,"icon":59},"Lifecycle","\u002Flearn\u002Flifecycle","2.learn\u002F4.lifecycle","i-lucide-arrow-right-left",{"title":61,"path":62,"stem":63,"icon":64},"Sampling","\u002Flearn\u002Fsampling","2.learn\u002F5.sampling","i-lucide-filter",{"title":66,"path":67,"stem":68,"icon":69},"Auto-Redaction","\u002Flearn\u002Fredaction","2.learn\u002F6.redaction","i-lucide-eye-off",{"title":71,"path":72,"stem":73,"icon":74},"Typed Fields","\u002Flearn\u002Ftyped-fields","2.learn\u002F7.typed-fields","i-simple-icons-typescript",{"title":76,"path":77,"stem":78,"icon":79},"Catalogs","\u002Flearn\u002Fcatalogs","2.learn\u002F8.catalogs","i-lucide-book-open",{"title":81,"path":82,"stem":83,"children":84,"page":29},"CLI","\u002Fcli","3.cli",[85,88,93,98,103,108,113,118,123,128],{"title":36,"path":86,"stem":87,"icon":44},"\u002Fcli\u002Foverview","3.cli\u002F0.overview",{"title":89,"path":90,"stem":91,"icon":92},"init","\u002Fcli\u002Finit","3.cli\u002F1.init","i-lucide-wand-sparkles",{"title":94,"path":95,"stem":96,"icon":97},"map","\u002Fcli\u002Fmap","3.cli\u002F2.map","i-lucide-radar",{"title":99,"path":100,"stem":101,"icon":102},"Rules","\u002Fcli\u002Frules","3.cli\u002F3.rules","i-lucide-list-checks",{"title":104,"path":105,"stem":106,"icon":107},"Scoring","\u002Fcli\u002Fscoring","3.cli\u002F4.scoring","i-lucide-gauge",{"title":109,"path":110,"stem":111,"icon":112},"CI","\u002Fcli\u002Fci","3.cli\u002F5.ci","i-lucide-git-pull-request",{"title":114,"path":115,"stem":116,"icon":117},"doctor","\u002Fcli\u002Fdoctor","3.cli\u002F6.doctor","i-lucide-stethoscope",{"title":119,"path":120,"stem":121,"icon":122},"telemetry","\u002Fcli\u002Ftelemetry","3.cli\u002F7.telemetry","i-lucide-bar-chart-3",{"title":124,"path":125,"stem":126,"icon":127},"agents","\u002Fcli\u002Fagents","3.cli\u002F8.agents","i-lucide-bot",{"title":129,"path":130,"stem":131,"icon":132},"Observability Score","\u002Fcli\u002Fobservability-score","3.cli\u002F9.observability-score","i-lucide-activity",{"title":134,"path":135,"stem":136,"children":137,"page":29},"Integrate","\u002Fintegrate","4.integrate",[138,142,225],{"title":36,"path":139,"stem":140,"icon":141},"\u002Fintegrate\u002Foverview","4.integrate\u002F0.overview","i-lucide-plug",{"title":143,"path":144,"stem":145,"children":146,"page":29},"Adapters","\u002Fintegrate\u002Fadapters","4.integrate\u002Fadapters",[147,150,180,205],{"title":36,"path":148,"stem":149,"icon":39},"\u002Fintegrate\u002Fadapters\u002Foverview","4.integrate\u002Fadapters\u002F01.overview",{"title":151,"path":152,"stem":153,"children":154,"page":29},"Cloud","\u002Fintegrate\u002Fadapters\u002Fcloud","4.integrate\u002Fadapters\u002Fcloud",[155,160,165,170,175],{"title":156,"path":157,"stem":158,"icon":159},"Axiom","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Faxiom","4.integrate\u002Fadapters\u002Fcloud\u002F01.axiom","i-custom-axiom",{"title":161,"path":162,"stem":163,"icon":164},"PostHog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fposthog","4.integrate\u002Fadapters\u002Fcloud\u002F02.posthog","i-simple-icons-posthog",{"title":166,"path":167,"stem":168,"icon":169},"Sentry","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fsentry","4.integrate\u002Fadapters\u002Fcloud\u002F03.sentry","i-simple-icons-sentry",{"title":171,"path":172,"stem":173,"icon":174},"Better Stack","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fbetter-stack","4.integrate\u002Fadapters\u002Fcloud\u002F04.better-stack","i-simple-icons-betterstack",{"title":176,"path":177,"stem":178,"icon":179},"Datadog","\u002Fintegrate\u002Fadapters\u002Fcloud\u002Fdatadog","4.integrate\u002Fadapters\u002Fcloud\u002F05.datadog","i-simple-icons-datadog",{"title":181,"path":182,"stem":183,"children":184,"page":29},"Cloud or Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fhybrid","4.integrate\u002Fadapters\u002Fhybrid",[185,190,195,200],{"title":186,"path":187,"stem":188,"icon":189},"Grafana Loki","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Floki","4.integrate\u002Fadapters\u002Fhybrid\u002F01.loki","i-simple-icons-grafana",{"title":191,"path":192,"stem":193,"icon":194},"ClickHouse","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fclickhouse","4.integrate\u002Fadapters\u002Fhybrid\u002F02.clickhouse","i-simple-icons-clickhouse",{"title":196,"path":197,"stem":198,"icon":199},"OTLP","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fotlp","4.integrate\u002Fadapters\u002Fhybrid\u002F03.otlp","i-simple-icons-opentelemetry",{"title":201,"path":202,"stem":203,"icon":204},"HyperDX","\u002Fintegrate\u002Fadapters\u002Fhybrid\u002Fhyperdx","4.integrate\u002Fadapters\u002Fhybrid\u002F04.hyperdx","i-custom-hyperdx",{"title":206,"path":207,"stem":208,"children":209,"page":29},"Self-Hosted","\u002Fintegrate\u002Fadapters\u002Fself-hosted","4.integrate\u002Fadapters\u002Fself-hosted",[210,215,220],{"title":211,"path":212,"stem":213,"icon":214},"File System","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Ffs","4.integrate\u002Fadapters\u002Fself-hosted\u002F01.fs","i-lucide-hard-drive",{"title":216,"path":217,"stem":218,"icon":219},"NuxtHub","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fnuxthub","4.integrate\u002Fadapters\u002Fself-hosted\u002F02.nuxthub","i-simple-icons-nuxt",{"title":221,"path":222,"stem":223,"icon":224},"Memory","\u002Fintegrate\u002Fadapters\u002Fself-hosted\u002Fmemory","4.integrate\u002Fadapters\u002Fself-hosted\u002F03.memory","i-lucide-cpu",{"title":226,"path":227,"stem":228,"children":229,"page":29},"Frameworks","\u002Fintegrate\u002Fframeworks","4.integrate\u002Fframeworks",[230,234,239,244,249,254,259,264,269,274,279,284,289,294,298,303,308],{"title":36,"path":231,"stem":232,"icon":233},"\u002Fintegrate\u002Fframeworks\u002Foverview","4.integrate\u002Fframeworks\u002F00.overview","i-lucide-layout-grid",{"title":235,"path":236,"stem":237,"icon":238},"Nuxt","\u002Fintegrate\u002Fframeworks\u002Fnuxt","4.integrate\u002Fframeworks\u002F01.nuxt","i-simple-icons-nuxtdotjs",{"title":240,"path":241,"stem":242,"icon":243},"Next.js","\u002Fintegrate\u002Fframeworks\u002Fnextjs","4.integrate\u002Fframeworks\u002F02.nextjs","i-simple-icons-nextdotjs",{"title":245,"path":246,"stem":247,"icon":248},"SvelteKit","\u002Fintegrate\u002Fframeworks\u002Fsveltekit","4.integrate\u002Fframeworks\u002F03.sveltekit","i-simple-icons-svelte",{"title":250,"path":251,"stem":252,"icon":253},"Nitro","\u002Fintegrate\u002Fframeworks\u002Fnitro","4.integrate\u002Fframeworks\u002F04.nitro","i-custom-nitro",{"title":255,"path":256,"stem":257,"icon":258},"TanStack Start","\u002Fintegrate\u002Fframeworks\u002Ftanstack-start","4.integrate\u002Fframeworks\u002F05.tanstack-start","i-custom-tanstack",{"title":260,"path":261,"stem":262,"icon":263},"NestJS","\u002Fintegrate\u002Fframeworks\u002Fnestjs","4.integrate\u002Fframeworks\u002F06.nestjs","i-simple-icons-nestjs",{"title":265,"path":266,"stem":267,"icon":268},"Express","\u002Fintegrate\u002Fframeworks\u002Fexpress","4.integrate\u002Fframeworks\u002F07.express","i-simple-icons-express",{"title":270,"path":271,"stem":272,"icon":273},"Hono","\u002Fintegrate\u002Fframeworks\u002Fhono","4.integrate\u002Fframeworks\u002F08.hono","i-simple-icons-hono",{"title":275,"path":276,"stem":277,"icon":278},"Fastify","\u002Fintegrate\u002Fframeworks\u002Ffastify","4.integrate\u002Fframeworks\u002F09.fastify","i-simple-icons-fastify",{"title":280,"path":281,"stem":282,"icon":283},"Elysia","\u002Fintegrate\u002Fframeworks\u002Felysia","4.integrate\u002Fframeworks\u002F10.elysia","i-custom-elysia",{"title":285,"path":286,"stem":287,"icon":288},"React Router","\u002Fintegrate\u002Fframeworks\u002Freact-router","4.integrate\u002Fframeworks\u002F11.react-router","i-custom-reactrouter",{"title":290,"path":291,"stem":292,"icon":293},"Cloudflare Workers","\u002Fintegrate\u002Fframeworks\u002Fcloudflare-workers","4.integrate\u002Fframeworks\u002F12.cloudflare-workers","i-simple-icons-cloudflare",{"title":295,"path":296,"stem":297,"icon":74},"Standalone","\u002Fintegrate\u002Fframeworks\u002Fstandalone","4.integrate\u002Fframeworks\u002F13.standalone",{"title":299,"path":300,"stem":301,"icon":302},"Astro","\u002Fintegrate\u002Fframeworks\u002Fastro","4.integrate\u002Fframeworks\u002F14.astro","i-simple-icons-astro",{"title":304,"path":305,"stem":306,"icon":307},"oRPC","\u002Fintegrate\u002Fframeworks\u002Forpc","4.integrate\u002Fframeworks\u002F15.orpc","i-lucide-network",{"title":309,"path":310,"stem":311,"icon":312},"AWS Lambda","\u002Fintegrate\u002Fframeworks\u002Faws-lambda","4.integrate\u002Fframeworks\u002F16.aws-lambda","i-custom-lambda",{"title":314,"path":315,"stem":316,"children":317,"page":29},"Use Cases","\u002Fuse-cases","5.use-cases",[318,321,326,354,381,413,434,439],{"title":36,"path":319,"stem":320,"icon":102},"\u002Fuse-cases\u002Foverview","5.use-cases\u002F0.overview",{"title":322,"path":323,"stem":324,"icon":325},"Client Logging","\u002Fuse-cases\u002Fclient-logging","5.use-cases\u002F1.client-logging","i-lucide-monitor",{"title":327,"icon":328,"path":329,"stem":330,"children":331,"page":29},"AI SDK","i-simple-icons-vercel","\u002Fuse-cases\u002Fai-sdk","5.use-cases\u002F2.ai-sdk",[332,335,340,345,350],{"title":36,"path":333,"stem":334,"icon":39},"\u002Fuse-cases\u002Fai-sdk\u002Foverview","5.use-cases\u002F2.ai-sdk\u002F01.overview",{"title":336,"path":337,"stem":338,"icon":339},"Usage","\u002Fuse-cases\u002Fai-sdk\u002Fusage","5.use-cases\u002F2.ai-sdk\u002F02.usage","i-lucide-code",{"title":341,"path":342,"stem":343,"icon":344},"Options","\u002Fuse-cases\u002Fai-sdk\u002Foptions","5.use-cases\u002F2.ai-sdk\u002F03.options","i-lucide-sliders",{"title":346,"path":347,"stem":348,"icon":349},"Metadata","\u002Fuse-cases\u002Fai-sdk\u002Fmetadata","5.use-cases\u002F2.ai-sdk\u002F04.metadata","i-lucide-database",{"title":351,"path":352,"stem":353,"icon":132},"Telemetry","\u002Fuse-cases\u002Fai-sdk\u002Ftelemetry","5.use-cases\u002F2.ai-sdk\u002F05.telemetry",{"title":355,"icon":356,"path":357,"stem":358,"children":359,"page":29},"Better Auth","i-simple-icons-betterauth","\u002Fuse-cases\u002Fbetter-auth","5.use-cases\u002F3.better-auth",[360,363,368,373,377],{"title":36,"path":361,"stem":362,"icon":39},"\u002Fuse-cases\u002Fbetter-auth\u002Foverview","5.use-cases\u002F3.better-auth\u002F01.overview",{"title":364,"path":365,"stem":366,"icon":367},"Identify User","\u002Fuse-cases\u002Fbetter-auth\u002Fidentify-user","5.use-cases\u002F3.better-auth\u002F02.identify-user","i-lucide-user-check",{"title":369,"path":370,"stem":371,"icon":372},"Middleware","\u002Fuse-cases\u002Fbetter-auth\u002Fmiddleware","5.use-cases\u002F3.better-auth\u002F03.middleware","i-lucide-shield",{"title":374,"path":375,"stem":376,"icon":325},"Client Sync","\u002Fuse-cases\u002Fbetter-auth\u002Fclient-sync","5.use-cases\u002F3.better-auth\u002F04.client-sync",{"title":378,"path":379,"stem":380,"icon":107},"Performance","\u002Fuse-cases\u002Fbetter-auth\u002Fperformance","5.use-cases\u002F3.better-auth\u002F05.performance",{"title":382,"icon":383,"path":384,"stem":385,"children":386,"page":29},"Audit Logs","i-lucide-shield-check","\u002Fuse-cases\u002Faudit","5.use-cases\u002F4.audit",[387,390,395,400,405,409],{"title":36,"path":388,"stem":389,"icon":39},"\u002Fuse-cases\u002Faudit\u002Foverview","5.use-cases\u002F4.audit\u002F01.overview",{"title":391,"path":392,"stem":393,"icon":394},"Schema","\u002Fuse-cases\u002Faudit\u002Fschema","5.use-cases\u002F4.audit\u002F02.schema","i-lucide-file-text",{"title":396,"path":397,"stem":398,"icon":399},"Recording","\u002Fuse-cases\u002Faudit\u002Frecording","5.use-cases\u002F4.audit\u002F03.recording","i-lucide-pen-line",{"title":401,"path":402,"stem":403,"icon":404},"Drains","\u002Fuse-cases\u002Faudit\u002Fpipeline","5.use-cases\u002F4.audit\u002F04.pipeline","i-lucide-link",{"title":406,"path":407,"stem":408,"icon":383},"Compliance","\u002Fuse-cases\u002Faudit\u002Fcompliance","5.use-cases\u002F4.audit\u002F05.compliance",{"title":410,"path":411,"stem":412,"icon":79},"Recipes","\u002Fuse-cases\u002Faudit\u002Frecipes","5.use-cases\u002F4.audit\u002F06.recipes",{"title":351,"icon":107,"path":414,"stem":415,"children":416,"page":29},"\u002Fuse-cases\u002Ftelemetry","5.use-cases\u002F4.telemetry",[417,420,425,430],{"title":36,"path":418,"stem":419,"icon":39},"\u002Fuse-cases\u002Ftelemetry\u002Foverview","5.use-cases\u002F4.telemetry\u002F01.overview",{"title":421,"path":422,"stem":423,"icon":424},"Setup","\u002Fuse-cases\u002Ftelemetry\u002Fsetup","5.use-cases\u002F4.telemetry\u002F02.setup","i-lucide-wrench",{"title":426,"path":427,"stem":428,"icon":429},"Ingest","\u002Fuse-cases\u002Ftelemetry\u002Fingest","5.use-cases\u002F4.telemetry\u002F03.ingest","i-lucide-server",{"title":431,"path":432,"stem":433,"icon":79},"Reference","\u002Fuse-cases\u002Ftelemetry\u002Freference","5.use-cases\u002F4.telemetry\u002F04.reference",{"title":435,"path":436,"stem":437,"icon":438},"Enrichers","\u002Fuse-cases\u002Fenrichers","5.use-cases\u002F5.enrichers","i-lucide-sparkles",{"title":440,"path":441,"stem":442,"icon":443},"eve","\u002Fuse-cases\u002Feve","5.use-cases\u002F5.eve","i-custom-eve",{"title":445,"path":446,"stem":447,"children":448,"page":29},"Extend","\u002Fextend","6.extend",[449,453,458,463,467,472,476,480,484,488,493,498],{"title":36,"path":450,"stem":451,"icon":452},"\u002Fextend\u002Foverview","6.extend\u002F0.overview","i-lucide-blocks",{"title":454,"path":455,"stem":456,"icon":457},"Stream","\u002Fextend\u002Fstream","6.extend\u002F1.stream","i-lucide-radio-tower",{"title":459,"path":460,"stem":461,"icon":462},"Custom framework","\u002Fextend\u002Fcustom-framework","6.extend\u002F10.custom-framework","i-lucide-puzzle",{"title":464,"path":465,"stem":466,"icon":457},"Diagnostics channel","\u002Fextend\u002Fdiagnostics-channel","6.extend\u002F11.diagnostics-channel",{"title":468,"path":469,"stem":470,"icon":471},"FS reader","\u002Fextend\u002Ffs-reader","6.extend\u002F2.fs-reader","i-lucide-folder-search",{"title":410,"path":473,"stem":474,"icon":475},"\u002Fextend\u002Fconsumer-recipes","6.extend\u002F3.consumer-recipes","i-lucide-chef-hat",{"title":477,"path":478,"stem":479,"icon":452},"Plugins","\u002Fextend\u002Fplugins","6.extend\u002F4.plugins",{"title":481,"path":482,"stem":483,"icon":438},"Custom enrichers","\u002Fextend\u002Fcustom-enrichers","6.extend\u002F5.custom-enrichers",{"title":485,"path":486,"stem":487,"icon":64},"Tail sampling","\u002Fextend\u002Ftail-sampling","6.extend\u002F6.tail-sampling",{"title":489,"path":490,"stem":491,"icon":492},"Identity headers","\u002Fextend\u002Fidentity-headers","6.extend\u002F7.identity-headers","i-lucide-fingerprint",{"title":494,"path":495,"stem":496,"icon":497},"Custom drains","\u002Fextend\u002Fcustom-drains","6.extend\u002F8.custom-drains","i-lucide-share-2",{"title":499,"path":500,"stem":501,"icon":502},"Drain pipeline","\u002Fextend\u002Fdrain-pipeline","6.extend\u002F9.drain-pipeline","i-lucide-workflow",{"title":431,"path":504,"stem":505,"children":506,"page":29},"\u002Freference","7.reference",[507,511,516,519,524,528,533,537],{"title":36,"path":508,"stem":509,"icon":510},"\u002Freference\u002Foverview","7.reference\u002F0.overview","i-lucide-book-marked",{"title":512,"path":513,"stem":514,"icon":515},"Configuration","\u002Freference\u002Fconfiguration","7.reference\u002F1.configuration","i-lucide-settings",{"title":378,"path":517,"stem":518,"icon":107},"\u002Freference\u002Fperformance","7.reference\u002F2.performance",{"title":520,"path":521,"stem":522,"icon":523},"Vite Plugin","\u002Freference\u002Fvite-plugin","7.reference\u002F3.vite-plugin","i-custom-vite",{"title":525,"path":526,"stem":527,"icon":383},"Best Practices","\u002Freference\u002Fbest-practices","7.reference\u002F4.best-practices",{"title":529,"path":530,"stem":531,"icon":532},"vs Other Loggers","\u002Freference\u002Fvs-other-loggers","7.reference\u002F5.vs-other-loggers","i-lucide-scale",{"title":534,"path":535,"stem":536,"icon":438},"Agent Skills","\u002Freference\u002Fagent-skills","7.reference\u002F6.agent-skills",{"title":538,"path":539,"stem":540,"icon":541},"Cost","\u002Freference\u002Fcost","7.reference\u002F7.cost","i-lucide-receipt",{"title":543,"path":544,"stem":545,"children":546,"page":29},"Compare","\u002Fcompare","8.compare",[547,551,555,559,563],{"title":548,"path":549,"stem":550,"icon":532},"evlog vs Pino","\u002Fcompare\u002Fpino","8.compare\u002F1.pino",{"title":552,"path":553,"stem":554,"icon":199},"evlog vs OpenTelemetry","\u002Fcompare\u002Fopentelemetry","8.compare\u002F2.opentelemetry",{"title":556,"path":557,"stem":558,"icon":532},"evlog vs LogTape","\u002Fcompare\u002Flogtape","8.compare\u002F3.logtape",{"title":560,"path":561,"stem":562,"icon":532},"evlog vs Winston: formats and request events","\u002Fcompare\u002Fwinston","8.compare\u002F4.winston",{"title":564,"path":565,"stem":566,"icon":532},"evlog vs Consola: reporters and request context","\u002Fcompare\u002Fconsola","8.compare\u002F5.consola",{"id":568,"title":569,"body":570,"description":1655,"extension":1656,"links":1657,"meta":1664,"navigation":1665,"path":557,"seo":1666,"stem":558,"__hash__":1667},"docs\u002F8.compare\u002F3.logtape.md","evlog vs LogTape: context and configuration",{"type":571,"value":572,"toc":1649},"minimark",[573,577,588,593,728,749,753,760,763,1255,1261,1566,1569,1573,1582,1605,1608,1612,1621,1628,1645],[574,575,576],"p",{},"Do you publish a library or operate an application? Start with who should own the logging configuration. LogTape lets a library record through categories while the consuming application selects the output. evlog provides event accumulation and integrations for an application's request lifecycle.",[574,578,579,580,587],{},"LogTape also works in applications. The useful decision is whether you need its category and configuration model, evlog's accumulated events, or separate logging arrangements for library and application code. See ",[581,582,586],"a",{"href":583,"rel":584},"https:\u002F\u002Flogtape.org\u002Fmanual\u002Flibrary",[585],"nofollow","LogTape's library guide"," for the consumer-owned configuration contract.",[589,590,592],"h2",{"id":591},"compare-context-and-configuration","Compare context and configuration",[594,595,596,612],"table",{},[597,598,599],"thead",{},[600,601,602,606,609],"tr",{},[603,604,605],"th",{},"Concern",[603,607,608],{},"evlog",[603,610,611],{},"LogTape",[613,614,615,634,649,663,680,717],"tbody",{},[600,616,617,621,631],{},[618,619,620],"td",{},"Event construction",[618,622,623,627,628],{},[624,625,626],"code",{},"set()"," accumulates fields until ",[624,629,630],{},"emit()",[618,632,633],{},"Structured records with message templates and properties",[600,635,636,639,646],{},[618,637,638],{},"Organization",[618,640,641,642,645],{},"Logger per operation, with ",[624,643,644],{},"fork()"," for branches",[618,647,648],{},"Hierarchical categories with inherited configuration",[600,650,651,654,657],{},[618,652,653],{},"Explicit context",[618,655,656],{},"Fields on the operation logger",[618,658,659,662],{},[624,660,661],{},"logger.with()"," attaches reusable properties",[600,664,665,668,674],{},[618,666,667],{},"Implicit access",[618,669,670,673],{},[624,671,672],{},"useLogger()"," in integrations backed by AsyncLocalStorage",[618,675,676,679],{},[624,677,678],{},"withContext()"," when context-local storage is configured",[600,681,682,685,700],{},[618,683,684],{},"Levels",[618,686,687,690,691,690,694,690,697],{},[624,688,689],{},"debug",", ",[624,692,693],{},"info",[624,695,696],{},"warn",[624,698,699],{},"error",[618,701,702,690,705,690,707,690,709,690,712,690,714],{},[624,703,704],{},"trace",[624,706,689],{},[624,708,693],{},[624,710,711],{},"warning",[624,713,699],{},[624,715,716],{},"fatal",[600,718,719,722,725],{},[618,720,721],{},"Testing",[618,723,724],{},"Memory drain for capturing events and inspecting them",[618,726,727],{},"Dedicated capture\u002Fassertion packages and lint rules",[574,729,730,731,736,737,740,741,744,745,748],{},"LogTape's ",[581,732,735],{"href":733,"rel":734},"https:\u002F\u002Flogtape.org\u002Fmanual\u002Fcontexts",[585],"context documentation"," distinguishes explicit and implicit contexts. Implicit context needs a compatible runtime and configured ",[624,738,739],{},"contextLocalStorage",", such as Node's ",[624,742,743],{},"AsyncLocalStorage",". It is not equivalent to ",[624,746,747],{},"log.fork()",", which branches an accumulated event. Check runtime support before assuming implicit context works in a browser.",[589,750,752],{"id":751},"compare-one-completed-checkout","Compare one completed checkout",[574,754,755,756,759],{},"Each example below emits one business record with an explicit outcome. The checkout is simulated, so neither requires a payment provider. Install the corresponding library and run the file with Node.js 24. Pass ",[624,757,758],{},"decline"," to exercise the error path.",[574,761,762],{},"LogTape records the final outcome through a category configured by the application:",[764,765,771],"pre",{"className":766,"code":767,"filename":768,"language":769,"meta":770,"style":770},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { configure, getConsoleSink, getLogger } from '@logtape\u002Flogtape'\n\nawait configure({\n  sinks: { console: getConsoleSink() },\n  loggers: [\n    { category: 'checkout', lowestLevel: 'info', sinks: ['console'] },\n    { category: ['logtape', 'meta'], lowestLevel: 'warning', sinks: ['console'] },\n  ],\n})\n\nconst logger = getLogger('checkout').with({ orderId: 'order-123', amount: 2999 })\ntry {\n  if (process.argv.includes('decline')) throw new Error('Payment declined')\n  logger.info('Checkout {outcome}', { outcome: 'paid' })\n} catch (error) {\n  logger.error('Checkout {outcome}: {error}', { outcome: 'declined', error })\n  process.exitCode = 1\n}\n","checkout-logtape.ts","typescript","",[624,772,773,817,824,839,864,875,929,989,998,1007,1012,1076,1085,1138,1177,1190,1232,1249],{"__ignoreMap":770},[774,775,778,782,786,790,793,796,798,801,804,807,810,814],"span",{"class":776,"line":777},"line",1,[774,779,781],{"class":780},"s7zQu","import",[774,783,785],{"class":784},"sMK4o"," {",[774,787,789],{"class":788},"sTEyZ"," configure",[774,791,792],{"class":784},",",[774,794,795],{"class":788}," getConsoleSink",[774,797,792],{"class":784},[774,799,800],{"class":788}," getLogger",[774,802,803],{"class":784}," }",[774,805,806],{"class":780}," from",[774,808,809],{"class":784}," '",[774,811,813],{"class":812},"sfazB","@logtape\u002Flogtape",[774,815,816],{"class":784},"'\n",[774,818,820],{"class":776,"line":819},2,[774,821,823],{"emptyLinePlaceholder":822},true,"\n",[774,825,827,830,833,836],{"class":776,"line":826},3,[774,828,829],{"class":780},"await",[774,831,789],{"class":832},"s2Zo4",[774,834,835],{"class":788},"(",[774,837,838],{"class":784},"{\n",[774,840,842,846,849,851,854,856,858,861],{"class":776,"line":841},4,[774,843,845],{"class":844},"swJcz","  sinks",[774,847,848],{"class":784},":",[774,850,785],{"class":784},[774,852,853],{"class":844}," console",[774,855,848],{"class":784},[774,857,795],{"class":832},[774,859,860],{"class":788},"() ",[774,862,863],{"class":784},"},\n",[774,865,867,870,872],{"class":776,"line":866},5,[774,868,869],{"class":844},"  loggers",[774,871,848],{"class":784},[774,873,874],{"class":788}," [\n",[774,876,878,881,884,886,888,891,894,896,899,901,903,905,907,909,912,914,917,919,922,924,927],{"class":776,"line":877},6,[774,879,880],{"class":784},"    {",[774,882,883],{"class":844}," category",[774,885,848],{"class":784},[774,887,809],{"class":784},[774,889,890],{"class":812},"checkout",[774,892,893],{"class":784},"'",[774,895,792],{"class":784},[774,897,898],{"class":844}," lowestLevel",[774,900,848],{"class":784},[774,902,809],{"class":784},[774,904,693],{"class":812},[774,906,893],{"class":784},[774,908,792],{"class":784},[774,910,911],{"class":844}," sinks",[774,913,848],{"class":784},[774,915,916],{"class":788}," [",[774,918,893],{"class":784},[774,920,921],{"class":812},"console",[774,923,893],{"class":784},[774,925,926],{"class":788},"] ",[774,928,863],{"class":784},[774,930,932,934,936,938,940,942,945,947,949,951,954,956,959,961,963,965,967,969,971,973,975,977,979,981,983,985,987],{"class":776,"line":931},7,[774,933,880],{"class":784},[774,935,883],{"class":844},[774,937,848],{"class":784},[774,939,916],{"class":788},[774,941,893],{"class":784},[774,943,944],{"class":812},"logtape",[774,946,893],{"class":784},[774,948,792],{"class":784},[774,950,809],{"class":784},[774,952,953],{"class":812},"meta",[774,955,893],{"class":784},[774,957,958],{"class":788},"]",[774,960,792],{"class":784},[774,962,898],{"class":844},[774,964,848],{"class":784},[774,966,809],{"class":784},[774,968,711],{"class":812},[774,970,893],{"class":784},[774,972,792],{"class":784},[774,974,911],{"class":844},[774,976,848],{"class":784},[774,978,916],{"class":788},[774,980,893],{"class":784},[774,982,921],{"class":812},[774,984,893],{"class":784},[774,986,926],{"class":788},[774,988,863],{"class":784},[774,990,992,995],{"class":776,"line":991},8,[774,993,994],{"class":788},"  ]",[774,996,997],{"class":784},",\n",[774,999,1001,1004],{"class":776,"line":1000},9,[774,1002,1003],{"class":784},"}",[774,1005,1006],{"class":788},")\n",[774,1008,1010],{"class":776,"line":1009},10,[774,1011,823],{"emptyLinePlaceholder":822},[774,1013,1015,1019,1022,1025,1027,1029,1031,1033,1035,1038,1041,1044,1046,1049,1052,1054,1056,1059,1061,1063,1066,1068,1072,1074],{"class":776,"line":1014},11,[774,1016,1018],{"class":1017},"spNyl","const",[774,1020,1021],{"class":788}," logger ",[774,1023,1024],{"class":784},"=",[774,1026,800],{"class":832},[774,1028,835],{"class":788},[774,1030,893],{"class":784},[774,1032,890],{"class":812},[774,1034,893],{"class":784},[774,1036,1037],{"class":788},")",[774,1039,1040],{"class":784},".",[774,1042,1043],{"class":832},"with",[774,1045,835],{"class":788},[774,1047,1048],{"class":784},"{",[774,1050,1051],{"class":844}," orderId",[774,1053,848],{"class":784},[774,1055,809],{"class":784},[774,1057,1058],{"class":812},"order-123",[774,1060,893],{"class":784},[774,1062,792],{"class":784},[774,1064,1065],{"class":844}," amount",[774,1067,848],{"class":784},[774,1069,1071],{"class":1070},"sbssI"," 2999",[774,1073,803],{"class":784},[774,1075,1006],{"class":788},[774,1077,1079,1082],{"class":776,"line":1078},12,[774,1080,1081],{"class":780},"try",[774,1083,1084],{"class":784}," {\n",[774,1086,1088,1091,1094,1097,1099,1102,1104,1107,1109,1111,1113,1115,1118,1121,1124,1127,1129,1131,1134,1136],{"class":776,"line":1087},13,[774,1089,1090],{"class":780},"  if",[774,1092,1093],{"class":844}," (",[774,1095,1096],{"class":788},"process",[774,1098,1040],{"class":784},[774,1100,1101],{"class":788},"argv",[774,1103,1040],{"class":784},[774,1105,1106],{"class":832},"includes",[774,1108,835],{"class":844},[774,1110,893],{"class":784},[774,1112,758],{"class":812},[774,1114,893],{"class":784},[774,1116,1117],{"class":844},")) ",[774,1119,1120],{"class":780},"throw",[774,1122,1123],{"class":784}," new",[774,1125,1126],{"class":832}," Error",[774,1128,835],{"class":844},[774,1130,893],{"class":784},[774,1132,1133],{"class":812},"Payment declined",[774,1135,893],{"class":784},[774,1137,1006],{"class":844},[774,1139,1141,1144,1146,1148,1150,1152,1155,1157,1159,1161,1164,1166,1168,1171,1173,1175],{"class":776,"line":1140},14,[774,1142,1143],{"class":788},"  logger",[774,1145,1040],{"class":784},[774,1147,693],{"class":832},[774,1149,835],{"class":844},[774,1151,893],{"class":784},[774,1153,1154],{"class":812},"Checkout {outcome}",[774,1156,893],{"class":784},[774,1158,792],{"class":784},[774,1160,785],{"class":784},[774,1162,1163],{"class":844}," outcome",[774,1165,848],{"class":784},[774,1167,809],{"class":784},[774,1169,1170],{"class":812},"paid",[774,1172,893],{"class":784},[774,1174,803],{"class":784},[774,1176,1006],{"class":844},[774,1178,1180,1182,1185,1188],{"class":776,"line":1179},15,[774,1181,1003],{"class":784},[774,1183,1184],{"class":780}," catch",[774,1186,1187],{"class":788}," (error) ",[774,1189,838],{"class":784},[774,1191,1193,1195,1197,1199,1201,1203,1206,1208,1210,1212,1214,1216,1218,1221,1223,1225,1228,1230],{"class":776,"line":1192},16,[774,1194,1143],{"class":788},[774,1196,1040],{"class":784},[774,1198,699],{"class":832},[774,1200,835],{"class":844},[774,1202,893],{"class":784},[774,1204,1205],{"class":812},"Checkout {outcome}: {error}",[774,1207,893],{"class":784},[774,1209,792],{"class":784},[774,1211,785],{"class":784},[774,1213,1163],{"class":844},[774,1215,848],{"class":784},[774,1217,809],{"class":784},[774,1219,1220],{"class":812},"declined",[774,1222,893],{"class":784},[774,1224,792],{"class":784},[774,1226,1227],{"class":788}," error",[774,1229,803],{"class":784},[774,1231,1006],{"class":844},[774,1233,1235,1238,1240,1243,1246],{"class":776,"line":1234},17,[774,1236,1237],{"class":788},"  process",[774,1239,1040],{"class":784},[774,1241,1242],{"class":788},"exitCode",[774,1244,1245],{"class":784}," =",[774,1247,1248],{"class":1070}," 1\n",[774,1250,1252],{"class":776,"line":1251},18,[774,1253,1254],{"class":784},"}\n",[574,1256,1257,1258,848],{},"evlog accumulates the result and emits in ",[624,1259,1260],{},"finally",[764,1262,1265],{"className":766,"code":1263,"filename":1264,"language":769,"meta":770,"style":770},"import { createLogger, initLogger } from 'evlog'\n\ninitLogger({ env: { service: 'checkout' }, pretty: false })\nconst log = createLogger({ orderId: 'order-123', amount: 2999 })\ntry {\n  if (process.argv.includes('decline')) throw new Error('Payment declined')\n  log.set({ outcome: 'paid' })\n} catch (error) {\n  log.error(error instanceof Error ? error : new Error(String(error)))\n  log.set({ outcome: 'declined' })\n  process.exitCode = 1\n} finally {\n  log.emit()\n}\n","checkout-evlog.ts",[624,1266,1267,1291,1295,1338,1375,1381,1423,1451,1461,1503,1529,1541,1550,1562],{"__ignoreMap":770},[774,1268,1269,1271,1273,1276,1278,1281,1283,1285,1287,1289],{"class":776,"line":777},[774,1270,781],{"class":780},[774,1272,785],{"class":784},[774,1274,1275],{"class":788}," createLogger",[774,1277,792],{"class":784},[774,1279,1280],{"class":788}," initLogger",[774,1282,803],{"class":784},[774,1284,806],{"class":780},[774,1286,809],{"class":784},[774,1288,608],{"class":812},[774,1290,816],{"class":784},[774,1292,1293],{"class":776,"line":819},[774,1294,823],{"emptyLinePlaceholder":822},[774,1296,1297,1300,1302,1304,1307,1309,1311,1314,1316,1318,1320,1322,1325,1328,1330,1334,1336],{"class":776,"line":826},[774,1298,1299],{"class":832},"initLogger",[774,1301,835],{"class":788},[774,1303,1048],{"class":784},[774,1305,1306],{"class":844}," env",[774,1308,848],{"class":784},[774,1310,785],{"class":784},[774,1312,1313],{"class":844}," service",[774,1315,848],{"class":784},[774,1317,809],{"class":784},[774,1319,890],{"class":812},[774,1321,893],{"class":784},[774,1323,1324],{"class":784}," },",[774,1326,1327],{"class":844}," pretty",[774,1329,848],{"class":784},[774,1331,1333],{"class":1332},"sfNiH"," false",[774,1335,803],{"class":784},[774,1337,1006],{"class":788},[774,1339,1340,1342,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373],{"class":776,"line":841},[774,1341,1018],{"class":1017},[774,1343,1344],{"class":788}," log ",[774,1346,1024],{"class":784},[774,1348,1275],{"class":832},[774,1350,835],{"class":788},[774,1352,1048],{"class":784},[774,1354,1051],{"class":844},[774,1356,848],{"class":784},[774,1358,809],{"class":784},[774,1360,1058],{"class":812},[774,1362,893],{"class":784},[774,1364,792],{"class":784},[774,1366,1065],{"class":844},[774,1368,848],{"class":784},[774,1370,1071],{"class":1070},[774,1372,803],{"class":784},[774,1374,1006],{"class":788},[774,1376,1377,1379],{"class":776,"line":866},[774,1378,1081],{"class":780},[774,1380,1084],{"class":784},[774,1382,1383,1385,1387,1389,1391,1393,1395,1397,1399,1401,1403,1405,1407,1409,1411,1413,1415,1417,1419,1421],{"class":776,"line":877},[774,1384,1090],{"class":780},[774,1386,1093],{"class":844},[774,1388,1096],{"class":788},[774,1390,1040],{"class":784},[774,1392,1101],{"class":788},[774,1394,1040],{"class":784},[774,1396,1106],{"class":832},[774,1398,835],{"class":844},[774,1400,893],{"class":784},[774,1402,758],{"class":812},[774,1404,893],{"class":784},[774,1406,1117],{"class":844},[774,1408,1120],{"class":780},[774,1410,1123],{"class":784},[774,1412,1126],{"class":832},[774,1414,835],{"class":844},[774,1416,893],{"class":784},[774,1418,1133],{"class":812},[774,1420,893],{"class":784},[774,1422,1006],{"class":844},[774,1424,1425,1428,1430,1433,1435,1437,1439,1441,1443,1445,1447,1449],{"class":776,"line":931},[774,1426,1427],{"class":788},"  log",[774,1429,1040],{"class":784},[774,1431,1432],{"class":832},"set",[774,1434,835],{"class":844},[774,1436,1048],{"class":784},[774,1438,1163],{"class":844},[774,1440,848],{"class":784},[774,1442,809],{"class":784},[774,1444,1170],{"class":812},[774,1446,893],{"class":784},[774,1448,803],{"class":784},[774,1450,1006],{"class":844},[774,1452,1453,1455,1457,1459],{"class":776,"line":991},[774,1454,1003],{"class":784},[774,1456,1184],{"class":780},[774,1458,1187],{"class":788},[774,1460,838],{"class":784},[774,1462,1463,1465,1467,1469,1471,1473,1476,1479,1482,1484,1487,1489,1491,1493,1496,1498,1500],{"class":776,"line":1000},[774,1464,1427],{"class":788},[774,1466,1040],{"class":784},[774,1468,699],{"class":832},[774,1470,835],{"class":844},[774,1472,699],{"class":788},[774,1474,1475],{"class":784}," instanceof",[774,1477,1126],{"class":1478},"sBMFI",[774,1480,1481],{"class":784}," ?",[774,1483,1227],{"class":788},[774,1485,1486],{"class":784}," :",[774,1488,1123],{"class":784},[774,1490,1126],{"class":832},[774,1492,835],{"class":844},[774,1494,1495],{"class":832},"String",[774,1497,835],{"class":844},[774,1499,699],{"class":788},[774,1501,1502],{"class":844},")))\n",[774,1504,1505,1507,1509,1511,1513,1515,1517,1519,1521,1523,1525,1527],{"class":776,"line":1009},[774,1506,1427],{"class":788},[774,1508,1040],{"class":784},[774,1510,1432],{"class":832},[774,1512,835],{"class":844},[774,1514,1048],{"class":784},[774,1516,1163],{"class":844},[774,1518,848],{"class":784},[774,1520,809],{"class":784},[774,1522,1220],{"class":812},[774,1524,893],{"class":784},[774,1526,803],{"class":784},[774,1528,1006],{"class":844},[774,1530,1531,1533,1535,1537,1539],{"class":776,"line":1014},[774,1532,1237],{"class":788},[774,1534,1040],{"class":784},[774,1536,1242],{"class":788},[774,1538,1245],{"class":784},[774,1540,1248],{"class":1070},[774,1542,1543,1545,1548],{"class":776,"line":1078},[774,1544,1003],{"class":784},[774,1546,1547],{"class":780}," finally",[774,1549,1084],{"class":784},[774,1551,1552,1554,1556,1559],{"class":776,"line":1087},[774,1553,1427],{"class":788},[774,1555,1040],{"class":784},[774,1557,1558],{"class":832},"emit",[774,1560,1561],{"class":844},"()\n",[774,1563,1564],{"class":776,"line":1140},[774,1565,1254],{"class":784},[574,1567,1568],{},"These examples compare ownership of context and emission, not equivalent output formats or speed. LogTape's console sink formats a record for the terminal here. evlog is configured for JSON. Neither example logs success before checking the result or duplicates a failure record.",[589,1570,1572],{"id":1571},"plan-the-migration-around-the-features-you-use","Plan the migration around the features you use",[574,1574,1575,1576,1578,1579,1581],{},"Category-specific verbosity has no direct equivalent in evlog's operation model. Decide how to preserve that control before mapping categories to context fields. Map ",[624,1577,704],{}," and ",[624,1580,716],{}," deliberately if dashboards or alerts depend on them.",[574,1583,1584,1585,690,1588,1591,1592,1595,1596,1599,1600,1040],{},"LogTape offers separate redaction and testing packages. evlog applies configured redaction before its output and provides ",[624,1586,1587],{},"createMemoryDrain()",[624,1589,1590],{},"readMemoryLogs()",", and ",[624,1593,1594],{},"clearMemoryLogs()"," through ",[624,1597,1598],{},"evlog\u002Fmemory",". A memory buffer supplies events for your assertions, not an equivalent assertion DSL. Compare those workflows against the ",[581,1601,1604],{"href":1602,"rel":1603},"https:\u002F\u002Flogtape.org\u002Fmanual\u002Ftesting",[585],"LogTape testing guide",[574,1606,1607],{},"A custom LogTape sink also needs an explicit delivery plan when moving to evlog. Do not assume configuration, flushing, or retry behavior transfers unchanged.",[589,1609,1611],{"id":1610},"check-the-bundle-you-will-ship","Check the bundle you will ship",[574,1613,1614,1615,1620],{},"Published measurements from different projects use different workloads, versions, and imports. In particular, LogTape's ",[581,1616,1619],{"href":1617,"rel":1618},"https:\u002F\u002Flogtape.org\u002Fcomparison",[585],"comparison table"," identifies historical versions for its figures. It does not establish the size or throughput of your current application bundle relative to evlog.",[574,1622,1623,1624,1627],{},"The ",[581,1625,1626],{"href":517},"Performance reference"," explains evlog's benchmark boundaries. Measure the entry points and output settings you intend to deploy before choosing on size or speed.",[574,1629,1630,1631,1634,1635,1637,1638,1641,1642,1644],{},"Keep LogTape when consumer-owned configuration, categories, or its testing tools are central to your design. Consider evlog when its ",[581,1632,1633],{"href":47},"wide-event lifecycle",", structured errors, and framework integrations reduce code in your application. For a Node.js logger with serializers and worker transports, see ",[581,1636,548],{"href":549},". The ",[581,1639,1640],{"href":530},"logger overview"," covers the other choices, and ",[581,1643,41],{"href":42}," introduces evlog's per-message API.",[1646,1647,1648],"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 .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}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 .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":770,"searchDepth":819,"depth":819,"links":1650},[1651,1652,1653,1654],{"id":591,"depth":819,"text":592},{"id":751,"depth":819,"text":752},{"id":1571,"depth":819,"text":1572},{"id":1610,"depth":819,"text":1611},"Compare LogTape categories, application-owned configuration, context propagation, and testing with evlog request events.","md",[1658,1661,1663],{"label":548,"icon":532,"to":549,"color":1659,"variant":1660},"neutral","subtle",{"label":1662,"icon":107,"to":517,"color":1659,"variant":1660},"Performance Benchmarks",{"label":46,"icon":49,"to":47,"color":1659,"variant":1660},{},{"title":556,"icon":532},{"title":569,"description":1655},"fFSUZ72FLKbnwGazkOI46aILA3QE1GLuomsDxRMr1MQ",[1669,1671],{"title":552,"path":553,"stem":554,"description":1670,"icon":199,"children":-1},"Send evlog events to an OpenTelemetry Collector over OTLP HTTP and attach the active trace context without replacing tracing.",{"title":560,"path":561,"stem":562,"description":1672,"icon":532,"children":-1},"Compare Winston formats, transports, and custom levels with evlog event accumulation before migrating an existing application.",1788901586955]