Skip to main content

Teddy Bear Child Loggers

In Logry, every logger instance is lightweight and modular.
You can freely create child loggers that inherit settings from their parent — while overriding only what you need.

Sparkles Creating a Child Logger

You can use the .child() method to create a scoped or customized logger:

const logger = logry({ id: "main-app", level: "info" });

const authLogger = logger.child({
level: "debug", // override log level
scope: "auth", // add a scope
context: { userType: "admin" }, // inject default context
});

Sparkles Child Logger Inheritance

Child loggers inherit settings by merging properties differently depending on their type:

  • scope: Appended
    ["main"] + "auth"["main", "auth"]

  • context: Merged, child overrides
    { app: "main", user: "guest" } + { user: "admin" }{ app: "main", user: "admin" }

  • formatterConfig / normalizerConfig:
    Shallow merged per platform (node, browser), with child taking precedence

⭐ This keeps child loggers flexible and contextual, without needing to re-specify everything.