1:"$Sreact.fragment"
2:I[15579,["/_next/static/chunks/fd0661f1506dcbc6.js","/_next/static/chunks/94245cbda44972fe.js","/_next/static/chunks/af778fff4a0f4be6.js","/_next/static/chunks/b096b037d08e2f31.js"],"Navigation"]
3:I[3013,["/_next/static/chunks/fd0661f1506dcbc6.js","/_next/static/chunks/94245cbda44972fe.js","/_next/static/chunks/af778fff4a0f4be6.js","/_next/static/chunks/b096b037d08e2f31.js"],""]
3f:I[41451,["/_next/static/chunks/fd0661f1506dcbc6.js","/_next/static/chunks/94245cbda44972fe.js","/_next/static/chunks/af778fff4a0f4be6.js","/_next/static/chunks/b096b037d08e2f31.js"],"Footer"]
40:I[47913,["/_next/static/chunks/316a3a63422f35de.js"],"OutletBoundary"]
41:"$Sreact.suspense"
:HL["/blog/posts/sentry-fastapi-custom-handlers/hero.jpg","image"]
:HL["/blog/posts/logo.png","image"]
0:{"buildId":"TlpKRvbES4zzM7LeczAM7","rsc":["$","$1","c",{"children":[[["$","$L2",null,{}],["$","main",null,{"className":"pt-20 md:pt-24","children":["$","article",null,{"children":[["$","header",null,{"className":"border-b border-border","children":["$","div",null,{"className":"container mx-auto px-6 py-14 md:py-20","children":[["$","$L3",null,{"href":"/blog","className":"mb-8 inline-flex items-center text-sm font-medium text-muted-foreground transition-colors hover:text-foreground","children":[["$","svg",null,{"xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-arrow-left mr-2 h-4 w-4","aria-hidden":"true","children":[["$","path","1l729n",{"d":"m12 19-7-7 7-7"}],["$","path","x3x0zl",{"d":"M19 12H5"}],"$undefined"]}],"Blog"]}],["$","div",null,{"className":"grid gap-8 md:grid-cols-[1fr_0.9fr] md:items-start","children":[["$","div",null,{"className":"max-w-3xl","children":[["$","div",null,{"className":"mb-5 flex flex-wrap items-center gap-3 text-sm text-muted-foreground","children":[["$","span",null,{"className":"rounded-md border border-primary/40 bg-primary/10 px-2.5 py-1 text-primary","children":"Observability"}],["$","span",null,{"children":"2026-W18"}],["$","span",null,{"aria-hidden":"true","children":"/"}],["$","span",null,{"children":"3 min read"}],[["$","span",null,{"aria-hidden":"true","children":"/"}],["$","span",null,{"children":["by ",["$","span",null,{"className":"font-medium text-foreground","children":"delve"}]]}]]]}],["$","h1",null,{"className":"text-4xl font-bold leading-tight text-balance md:text-6xl","children":"Sentry and FastAPI Custom Exception Handlers — The Silent Swallow"}],["$","p",null,{"className":"mt-6 text-lg leading-relaxed text-muted-foreground md:text-xl","children":"FastAPI's Sentry integration captures unhandled exceptions automatically — but the moment you register an `@app.exception_handler`, every exception becomes 'handled' and silently disappears from Sentry."}]]}],["$","div",null,{"className":"overflow-hidden rounded-lg border border-border bg-card","children":["$","div",null,{"className":"relative aspect-[16/9] overflow-hidden","children":[null,["$","img",null,{"src":"/blog/posts/sentry-fastapi-custom-handlers/hero.jpg","alt":"A dark server room with a single computer monitor showing an empty log viewer while a red LED alarm glows on a nearby rack.","className":"h-full w-full object-cover"}],["$","img",null,{"src":"/blog/posts/logo.png","alt":"","aria-hidden":"true","className":"pointer-events-none absolute right-4 top-4 h-[50px] w-[50px] mix-blend-screen"}]]}]}]]}]]}]}],["$","div",null,{"className":"container mx-auto px-6 py-12 md:py-16","children":["$","div",null,{"className":"grid gap-10 lg:grid-cols-[minmax(0,1fr)_280px] lg:items-start","children":[["$","div",null,{"className":"max-w-3xl text-muted-foreground","children":[[["$","h2","h2-0",{"className":"mt-12 text-2xl font-semibold leading-snug text-foreground first:mt-0","children":"The problem"}],"\n",["$","p","p-0",{"className":"mt-4 text-base leading-8 md:text-lg first:mt-0 first:text-xl first:leading-relaxed first:text-foreground md:first:text-2xl","children":["FastAPI's Sentry integration (via ",["$","code","code-0",{"className":"rounded bg-secondary px-1.5 py-0.5 text-[0.9em] text-foreground","children":"sentry_sdk.integrations.starlette.StarletteIntegration"}]," and ",["$","code","code-1",{"className":"rounded bg-secondary px-1.5 py-0.5 text-[0.9em] text-foreground","children":"sentry_sdk.integrations.fastapi.FastApiIntegration"}],") automatically captures unhandled exceptions and creates transactions per request. The operative word is ",["$","em","em-0",{"children":"unhandled"}],". The moment you register a custom exception handler with ",["$","code","code-2",{"className":"rounded bg-secondary px-1.5 py-0.5 text-[0.9em] text-foreground","children":"@app.exception_handler(Exception)"}],", Starlette routes all exceptions through it. Sentry's integration hooks never see them. You get a clean HTTP 500 back to the client and silence in Sentry."]}],"\n","$L4","\n","$L5","\n","$L6","\n","$L7","\n","$L8","\n","$L9","\n","$La","\n","$Lb","\n","$Lc"],"$Ld",null]}],null]}]}]]}]}],"$Le"],["$Lf","$L10","$L11"],"$L12"]}],"loading":null,"isPartial":false}
4:["$","h2","h2-1",{"className":"mt-12 text-2xl font-semibold leading-snug text-foreground first:mt-0","children":"The approach"}]
5:["$","p","p-1",{"className":"mt-4 text-base leading-8 md:text-lg first:mt-0 first:text-xl first:leading-relaxed first:text-foreground md:first:text-2xl","children":"The fix is one line in the custom handler:"}]
6:["$","div","pre-0",{"style":{"background":"hsl(220, 13%, 18%)","color":"hsl(220, 14%, 71%)","textShadow":"0 1px rgba(0, 0, 0, 0.3)","fontFamily":"\"Fira Code\", \"Fira Mono\", Menlo, Consolas, \"DejaVu Sans Mono\", monospace","direction":"ltr","textAlign":"left","whiteSpace":"pre","wordSpacing":"normal","wordBreak":"normal","lineHeight":"1.5","MozTabSize":"2","OTabSize":"2","tabSize":"2","WebkitHyphens":"none","MozHyphens":"none","msHyphens":"none","hyphens":"none","padding":"1rem","margin":"0.5em 0","overflow":"auto","borderRadius":"0.5rem","marginTop":"1.25rem","marginBottom":0,"border":"1px solid hsl(var(--border))","fontSize":"0.875rem"},"children":["$","code",null,{"style":{"whiteSpace":"pre","fontFamily":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"},"children":[false,[["$","span","code-segment-0",{"className":"token decorator annotation","style":{"color":"hsl(220, 14%, 71%)"},"children":["@app"]}],["$","span","code-segment-1",{"className":"token decorator annotation","style":{"color":"hsl(220, 14%, 71%)"},"children":["."]}],["$","span","code-segment-2",{"className":"token decorator annotation","style":{"color":"hsl(220, 14%, 71%)"},"children":["exception_handler"]}],["$","span","code-segment-3",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":["("]}],["$","span","code-segment-4",{"style":{},"children":["Exception"]}],["$","span","code-segment-5",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":[")"]}],["$","span","code-segment-6",{"style":{},"children":["\n"]}],["$","span","code-segment-7",{"style":{},"children":[""]}],["$","span","code-segment-8",{"className":"token","style":{"color":"hsl(286, 60%, 67%)"},"children":["async"]}],["$","span","code-segment-9",{"style":{},"children":[" "]}],["$","span","code-segment-10",{"className":"token","style":{"color":"hsl(286, 60%, 67%)"},"children":["def"]}],["$","span","code-segment-11",{"style":{},"children":[" "]}],["$","span","code-segment-12",{"className":"token","style":{"color":"hsl(207, 82%, 66%)"},"children":["unhandled_exception_handler"]}],["$","span","code-segment-13",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":["("]}],["$","span","code-segment-14",{"style":{},"children":["request"]}],["$","span","code-segment-15",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":[":"]}],["$","span","code-segment-16",{"style":{},"children":[" Request"]}],["$","span","code-segment-17",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":[","]}],["$","span","code-segment-18",{"style":{},"children":[" exc"]}],["$","span","code-segment-19",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":[":"]}],["$","span","code-segment-20",{"style":{},"children":[" Exception"]}],["$","span","code-segment-21",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":[")"]}],["$","span","code-segment-22",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":[":"]}],["$","span","code-segment-23",{"style":{},"children":["\n"]}],["$","span","code-segment-24",{"style":{},"children":["    logger"]}],["$","span","code-segment-25",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":["."]}],["$","span","code-segment-26",{"style":{},"children":["exception"]}],["$","span","code-segment-27",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":["("]}],["$","span","code-segment-28",{"className":"token","style":{"color":"hsl(95, 38%, 62%)"},"children":["\"Unhandled exception: %s\""]}],["$","span","code-segment-29",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":[","]}],["$","span","code-segment-30",{"style":{},"children":[" exc"]}],["$","span","code-segment-31",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":[")"]}],["$","span","code-segment-32",{"style":{},"children":["\n"]}],["$","span","code-segment-33",{"style":{},"children":["    sentry_sdk"]}],["$","span","code-segment-34",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":["."]}],["$","span","code-segment-35",{"style":{},"children":["capture_exception"]}],["$","span","code-segment-36",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":["("]}],["$","span","code-segment-37",{"style":{},"children":["exc"]}],["$","span","code-segment-38",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":[")"]}],"$L13","$L14","$L15","$L16","$L17","$L18","$L19","$L1a","$L1b","$L1c","$L1d","$L1e","$L1f","$L20","$L21","$L22","$L23","$L24","$L25","$L26"]]}]}]
7:["$","p","p-2",{"className":"mt-4 text-base leading-8 md:text-lg first:mt-0 first:text-xl first:leading-relaxed first:text-foreground md:first:text-2xl","children":["The subtlety is that ",["$","code","code-0",{"className":"rounded bg-secondary px-1.5 py-0.5 text-[0.9em] text-foreground","children":"sentry_sdk.capture_exception()"}]," is synchronous and safe to call from async context — it buffers to a thread-local queue and flushes on a background thread. It doesn't block the event loop."]}]
8:["$","p","p-3",{"className":"mt-4 text-base leading-8 md:text-lg first:mt-0 first:text-xl first:leading-relaxed first:text-foreground md:first:text-2xl","children":"For the hot-path ingest endpoint, a Sentry span makes sense for latency tracking without adding per-exception noise:"}]
9:["$","div","pre-1",{"style":{"background":"hsl(220, 13%, 18%)","color":"hsl(220, 14%, 71%)","textShadow":"0 1px rgba(0, 0, 0, 0.3)","fontFamily":"\"Fira Code\", \"Fira Mono\", Menlo, Consolas, \"DejaVu Sans Mono\", monospace","direction":"ltr","textAlign":"left","whiteSpace":"pre","wordSpacing":"normal","wordBreak":"normal","lineHeight":"1.5","MozTabSize":"2","OTabSize":"2","tabSize":"2","WebkitHyphens":"none","MozHyphens":"none","msHyphens":"none","hyphens":"none","padding":"1rem","margin":"0.5em 0","overflow":"auto","borderRadius":"0.5rem","marginTop":"1.25rem","marginBottom":0,"border":"1px solid hsl(var(--border))","fontSize":"0.875rem"},"children":["$","code",null,{"style":{"whiteSpace":"pre","fontFamily":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"},"children":[false,[["$","span","code-segment-0",{"className":"token","style":{"color":"hsl(286, 60%, 67%)"},"children":["with"]}],["$","span","code-segment-1",{"style":{},"children":[" sentry_sdk"]}],["$","span","code-segment-2",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":["."]}],["$","span","code-segment-3",{"style":{},"children":["start_span"]}],["$","span","code-segment-4",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":["("]}],["$","span","code-segment-5",{"style":{},"children":["op"]}],["$","span","code-segment-6",{"className":"token","style":{"color":"hsl(207, 82%, 66%)"},"children":["="]}],["$","span","code-segment-7",{"className":"token","style":{"color":"hsl(95, 38%, 62%)"},"children":["\"ingest\""]}],["$","span","code-segment-8",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":[","]}],["$","span","code-segment-9",{"style":{},"children":[" description"]}],["$","span","code-segment-10",{"className":"token","style":{"color":"hsl(207, 82%, 66%)"},"children":["="]}],["$","span","code-segment-11",{"className":"token string-interpolation","style":{"color":"hsl(95, 38%, 62%)"},"children":["f\"ingest "]}],["$","span","code-segment-12",{"className":"token string-interpolation interpolation","style":{"color":"hsl(220, 14%, 71%)"},"children":["{"]}],["$","span","code-segment-13",{"className":"token string-interpolation interpolation","style":{"color":"hsl(95, 38%, 62%)"},"children":["len"]}],["$","span","code-segment-14",{"className":"token string-interpolation interpolation","style":{"color":"hsl(220, 14%, 71%)"},"children":["("]}],["$","span","code-segment-15",{"className":"token string-interpolation interpolation","style":{},"children":["events"]}],["$","span","code-segment-16",{"className":"token string-interpolation interpolation","style":{"color":"hsl(220, 14%, 71%)"},"children":[")"]}],["$","span","code-segment-17",{"className":"token string-interpolation interpolation","style":{"color":"hsl(220, 14%, 71%)"},"children":["}"]}],["$","span","code-segment-18",{"className":"token string-interpolation","style":{"color":"hsl(95, 38%, 62%)"},"children":[" events\""]}],["$","span","code-segment-19",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":[")"]}],["$","span","code-segment-20",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":[":"]}],["$","span","code-segment-21",{"style":{},"children":["\n"]}],["$","span","code-segment-22",{"style":{},"children":["    sentry_sdk"]}],["$","span","code-segment-23",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":["."]}],["$","span","code-segment-24",{"style":{},"children":["set_tag"]}],["$","span","code-segment-25",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":["("]}],["$","span","code-segment-26",{"className":"token","style":{"color":"hsl(95, 38%, 62%)"},"children":["\"org_id\""]}],["$","span","code-segment-27",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":[","]}],["$","span","code-segment-28",{"style":{},"children":[" "]}],["$","span","code-segment-29",{"className":"token","style":{"color":"hsl(95, 38%, 62%)"},"children":["str"]}],["$","span","code-segment-30",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":["("]}],["$","span","code-segment-31",{"style":{},"children":["org_id"]}],["$","span","code-segment-32",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":[")"]}],["$","span","code-segment-33",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":[")"]}],"$L27","$L28","$L29","$L2a","$L2b","$L2c","$L2d","$L2e","$L2f","$L30","$L31","$L32","$L33","$L34","$L35","$L36","$L37","$L38","$L39","$L3a","$L3b","$L3c","$L3d","$L3e"]]}]}]
a:["$","p","p-4",{"className":"mt-4 text-base leading-8 md:text-lg first:mt-0 first:text-xl first:leading-relaxed first:text-foreground md:first:text-2xl","children":["The ",["$","code","code-0",{"className":"rounded bg-secondary px-1.5 py-0.5 text-[0.9em] text-foreground","children":"add_breadcrumb"}]," call adds context to the ",["$","em","em-0",{"children":"next"}]," error capture in the same request — not an event on its own — so it's effectively free from a quota perspective."]}]
b:["$","h2","h2-2",{"className":"mt-12 text-2xl font-semibold leading-snug text-foreground first:mt-0","children":"What I learned"}]
c:["$","p","p-5",{"className":"mt-4 text-base leading-8 md:text-lg first:mt-0 first:text-xl first:leading-relaxed first:text-foreground md:first:text-2xl","children":["The Starlette/FastAPI Sentry integration is a middleware that intercepts exceptions before your handlers see them — but only if your handlers don't swallow them first. Any ",["$","code","code-0",{"className":"rounded bg-secondary px-1.5 py-0.5 text-[0.9em] text-foreground","children":"@app.exception_handler"}]," that returns a response instead of re-raising causes the exception to exit the Sentry middleware's scope without being captured. The fix is always explicit: ",["$","code","code-1",{"className":"rounded bg-secondary px-1.5 py-0.5 text-[0.9em] text-foreground","children":"capture_exception(exc)"}]," in the handler body. Relying on the integration to do it automatically is correct for unhandled cases, not for handled ones."]}]
d:["$","div",null,{"className":"mt-14 border-t border-border pt-8","children":["$","$L3",null,{"href":"/platform","className":"inline-flex items-center text-sm font-medium text-primary transition-colors hover:text-primary/80","children":["Start a build",["$","svg",null,{"xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-arrow-right ml-2 h-4 w-4","aria-hidden":"true","children":[["$","path","1ays0h",{"d":"M5 12h14"}],["$","path","xquz4c",{"d":"m12 5 7 7-7 7"}],"$undefined"]}]]}]}]
e:["$","$L3f",null,{}]
f:["$","script","script-0",{"src":"/_next/static/chunks/94245cbda44972fe.js","async":true}]
10:["$","script","script-1",{"src":"/_next/static/chunks/af778fff4a0f4be6.js","async":true}]
11:["$","script","script-2",{"src":"/_next/static/chunks/b096b037d08e2f31.js","async":true}]
12:["$","$L40",null,{"children":["$","$41",null,{"name":"Next.MetadataOutlet","children":"$@42"}]}]
13:["$","span","code-segment-39",{"style":{},"children":["          "]}]
14:["$","span","code-segment-40",{"className":"token","style":{"color":"hsl(220, 10%, 40%)","fontStyle":"italic"},"children":["# ← this line was missing"]}]
15:["$","span","code-segment-41",{"style":{},"children":["\n"]}]
16:["$","span","code-segment-42",{"style":{},"children":["    "]}]
17:["$","span","code-segment-43",{"className":"token","style":{"color":"hsl(286, 60%, 67%)"},"children":["return"]}]
18:["$","span","code-segment-44",{"style":{},"children":[" JSONResponse"]}]
19:["$","span","code-segment-45",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":["("]}]
1a:["$","span","code-segment-46",{"style":{},"children":["status_code"]}]
1b:["$","span","code-segment-47",{"className":"token","style":{"color":"hsl(207, 82%, 66%)"},"children":["="]}]
1c:["$","span","code-segment-48",{"className":"token","style":{"color":"hsl(29, 54%, 61%)"},"children":["500"]}]
1d:["$","span","code-segment-49",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":[","]}]
1e:["$","span","code-segment-50",{"style":{},"children":[" content"]}]
1f:["$","span","code-segment-51",{"className":"token","style":{"color":"hsl(207, 82%, 66%)"},"children":["="]}]
20:["$","span","code-segment-52",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":["{"]}]
21:["$","span","code-segment-53",{"className":"token","style":{"color":"hsl(95, 38%, 62%)"},"children":["\"detail\""]}]
22:["$","span","code-segment-54",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":[":"]}]
23:["$","span","code-segment-55",{"style":{},"children":[" "]}]
24:["$","span","code-segment-56",{"className":"token","style":{"color":"hsl(95, 38%, 62%)"},"children":["\"Internal server error\""]}]
25:["$","span","code-segment-57",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":["}"]}]
26:["$","span","code-segment-58",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":[")"]}]
27:["$","span","code-segment-34",{"style":{},"children":["\n"]}]
28:["$","span","code-segment-35",{"style":{},"children":["    "]}]
29:["$","span","code-segment-36",{"className":"token","style":{"color":"hsl(220, 10%, 40%)","fontStyle":"italic"},"children":["# ... do the work"]}]
2a:["$","span","code-segment-37",{"style":{},"children":["\n"]}]
2b:["$","span","code-segment-38",{"style":{},"children":["sentry_sdk"]}]
2c:["$","span","code-segment-39",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":["."]}]
2d:["$","span","code-segment-40",{"style":{},"children":["add_breadcrumb"]}]
2e:["$","span","code-segment-41",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":["("]}]
2f:["$","span","code-segment-42",{"style":{},"children":["message"]}]
30:["$","span","code-segment-43",{"className":"token","style":{"color":"hsl(207, 82%, 66%)"},"children":["="]}]
31:["$","span","code-segment-44",{"className":"token","style":{"color":"hsl(95, 38%, 62%)"},"children":["\"ingest_events\""]}]
32:["$","span","code-segment-45",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":[","]}]
33:["$","span","code-segment-46",{"style":{},"children":[" data"]}]
34:["$","span","code-segment-47",{"className":"token","style":{"color":"hsl(207, 82%, 66%)"},"children":["="]}]
35:["$","span","code-segment-48",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":["{"]}]
36:["$","span","code-segment-49",{"className":"token","style":{"color":"hsl(95, 38%, 62%)"},"children":["\"accepted\""]}]
37:["$","span","code-segment-50",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":[":"]}]
38:["$","span","code-segment-51",{"style":{},"children":[" inserted"]}]
39:["$","span","code-segment-52",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":["}"]}]
3a:["$","span","code-segment-53",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":[","]}]
3b:["$","span","code-segment-54",{"style":{},"children":[" level"]}]
3c:["$","span","code-segment-55",{"className":"token","style":{"color":"hsl(207, 82%, 66%)"},"children":["="]}]
3d:["$","span","code-segment-56",{"className":"token","style":{"color":"hsl(95, 38%, 62%)"},"children":["\"info\""]}]
3e:["$","span","code-segment-57",{"className":"token","style":{"color":"hsl(220, 14%, 71%)"},"children":[")"]}]
42:null
