Skip to content

@flarelog/sdk


@flarelog/sdk / FlareLogChild

Class: FlareLogChild

Defined in: client.ts:772

FlareLogChild is a lightweight wrapper around the parent FlareLog logger that automatically merges a set of default metadata/tags into all logs emitted through it.

When to use Child Loggers

Child loggers are ideal for request-scoped logging, structured operation tracing, or component-level logging:

  • Request Tracing: Capture the incoming HTTP request context (traceId, method, path, client ip) and attach it to every log emitted during that request.
  • Sub-operations: Scope logs within a complex workflow (e.g. operation: "process-payment") to make filtering in the dashboard easier.
  • Context Inheritance: Child loggers inherit global user contexts, tags, and transports from the parent logger.

Usage Example

typescript
import { flarelog } from "@flarelog/sdk";

const logger = flarelog({ apiKey: "fl_your_key" });

// Create a request-scoped child logger
const reqLogger = logger.child({
  traceId: "uuid-1234-5678",
  source: "http-handler",
  userId: "usr_99",
});

// Emitting logs via the child logger automatically attaches the defaults
reqLogger.info("Fetching database records");
// Output metadata: { traceId: "uuid-1234-5678", userId: "usr_99", source: "http-handler" }

// You can create nested child loggers
const dbLogger = reqLogger.child({
  source: "database", // overrides parent source
  query: "SELECT * FROM users",
});

dbLogger.info("Executing query");
// Output metadata: { traceId: "uuid-1234-5678", userId: "usr_99", source: "database", query: "SELECT..." }

Flushes and Lifecycle

Calling .flush() on a child logger directly delegates to the parent logger's flush mechanism. You do not need to manage the batch processor or configuration separately for children; they share the same underlying OpenTelemetry provider and transports.

Implements

Constructors

Constructor

new FlareLogChild(parent, defaults): FlareLogChild

Defined in: client.ts:776

Parameters

parent

FlareLog

defaults

Record<string, unknown> & object

Returns

FlareLogChild

Methods

trace()

trace(message, metadata?): void

Defined in: client.ts:784

Parameters

message

string

metadata?

Record<string, unknown>

Returns

void

Implementation of

FlareLogLike.trace


debug()

debug(message, metadata?): void

Defined in: client.ts:785

Parameters

message

string

metadata?

Record<string, unknown>

Returns

void

Implementation of

FlareLogLike.debug


info()

info(message, metadata?): void

Defined in: client.ts:786

Parameters

message

string

metadata?

Record<string, unknown>

Returns

void

Implementation of

FlareLogLike.info


warn()

warn(message, metadata?): void

Defined in: client.ts:787

Parameters

message

string

metadata?

Record<string, unknown>

Returns

void

Implementation of

FlareLogLike.warn


error()

error(message, metadata?): void

Defined in: client.ts:788

Parameters

message

string

metadata?

Record<string, unknown>

Returns

void

Implementation of

FlareLogLike.error


fatal()

fatal(message, metadata?): void

Defined in: client.ts:789

Parameters

message

string

metadata?

Record<string, unknown>

Returns

void

Implementation of

FlareLogLike.fatal


log()

log(level, message, metadata?, opts?): void

Defined in: client.ts:791

Parameters

level

LogLevel

message

string

metadata?

Record<string, unknown>

opts?
source?

string

traceId?

string

spanId?

string

Returns

void

Implementation of

FlareLogLike.log


logError()

logError(err, opts?): void

Defined in: client.ts:795

Parameters

err

unknown

opts?
message?

string

level?

LogLevel

source?

string

metadata?

Record<string, unknown>

traceId?

string

Returns

void

Implementation of

FlareLogLike.logError


addBreadcrumb()

addBreadcrumb(breadcrumb): void

Defined in: client.ts:799

Parameters

Omit<Breadcrumb, "timestamp">

Returns

void

Implementation of

FlareLogLike.addBreadcrumb


setUser()

setUser(user): void

Defined in: client.ts:800

Parameters

user

UserContext | null

Returns

void

Implementation of

FlareLogLike.setUser


setTag()

setTag(key, value): void

Defined in: client.ts:801

Parameters

key

string

value

string

Returns

void

Implementation of

FlareLogLike.setTag


flush()

flush(): Promise<void>

Defined in: client.ts:802

Returns

Promise<void>

Implementation of

FlareLogLike.flush


child()

child(defaults): FlareLogChild

Defined in: client.ts:803

Parameters

defaults

Record<string, unknown> & object

Returns

FlareLogChild

Implementation of

FlareLogLike.child

Released under the MIT License.