@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, clientip) 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
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
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
debug()
debug(
message,metadata?):void
Defined in: client.ts:785
Parameters
message
string
metadata?
Record<string, unknown>
Returns
void
Implementation of
info()
info(
message,metadata?):void
Defined in: client.ts:786
Parameters
message
string
metadata?
Record<string, unknown>
Returns
void
Implementation of
warn()
warn(
message,metadata?):void
Defined in: client.ts:787
Parameters
message
string
metadata?
Record<string, unknown>
Returns
void
Implementation of
error()
error(
message,metadata?):void
Defined in: client.ts:788
Parameters
message
string
metadata?
Record<string, unknown>
Returns
void
Implementation of
fatal()
fatal(
message,metadata?):void
Defined in: client.ts:789
Parameters
message
string
metadata?
Record<string, unknown>
Returns
void
Implementation of
log()
log(
level,message,metadata?,opts?):void
Defined in: client.ts:791
Parameters
level
message
string
metadata?
Record<string, unknown>
opts?
source?
string
traceId?
string
spanId?
string
Returns
void
Implementation of
logError()
logError(
err,opts?):void
Defined in: client.ts:795
Parameters
err
unknown
opts?
message?
string
level?
source?
string
metadata?
Record<string, unknown>
traceId?
string
Returns
void
Implementation of
addBreadcrumb()
addBreadcrumb(
breadcrumb):void
Defined in: client.ts:799
Parameters
breadcrumb
Omit<Breadcrumb, "timestamp">
Returns
void
Implementation of
setUser()
setUser(
user):void
Defined in: client.ts:800
Parameters
user
UserContext | null
Returns
void
Implementation of
setTag()
setTag(
key,value):void
Defined in: client.ts:801
Parameters
key
string
value
string
Returns
void
Implementation of
flush()
flush():
Promise<void>
Defined in: client.ts:802
Returns
Promise<void>
Implementation of
child()
child(
defaults):FlareLogChild
Defined in: client.ts:803
Parameters
defaults
Record<string, unknown> & object
Returns
FlareLogChild