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.