Skip to content

@gvray/logger


@gvray/logger / Logger

Class: Logger ​

Defined in: Logger.ts:26

A lightweight, extensible logger with middleware, namespaces, and listeners.

Emits to the console (ANSI-colored in Node, CSS-styled in browsers) and supports a middleware pipeline for transforming logs before output, plus listeners for side effects like error collection or analytics.

Example ​

ts
import { Logger, LogLevel } from '@gvray/logger';

const logger = new Logger({ level: LogLevel.DEBUG, timestamp: 'time' });
logger.info('Server started on port', 3000);

Constructors ​

Constructor ​

new Logger(options?): Logger

Defined in: Logger.ts:40

Create a new Logger instance.

Parameters ​

options? ​

LogOptions = {}

Configuration options. Omit for sensible defaults (level DEBUG, colors enabled, no namespace, no timestamp).

Returns ​

Logger

Methods ​

addListener() ​

addListener(listener): this

Defined in: Logger.ts:337

Add a listener invoked for every emitted log entry that passes the level filter. Useful for in-process side effects like error collection, statistics, or screen formatting.

Parameters ​

listener ​

LogListener

Returns ​

this

this, for chaining.


child() ​

child(namespace): Logger

Defined in: Logger.ts:268

Create a child logger that inherits the parent's level, colors, timestamp format, and a copy of its middleware. The child's namespace is appended to the parent's using a : separator (e.g. app → app:http).

Parameters ​

namespace ​

string

Namespace segment for the child.

Returns ​

Logger

A new child Logger.


debug() ​

debug(...args): void

Defined in: Logger.ts:218

Log at LogLevel.DEBUG.

Parameters ​

args ​

...unknown[]

Returns ​

void


disableColors() ​

disableColors(): this

Defined in: Logger.ts:314

Disable ANSI color output.

Returns ​

this

this, for chaining.


enableColors() ​

enableColors(): this

Defined in: Logger.ts:304

Enable ANSI color output.

Returns ​

this

this, for chaining.


error() ​

error(...args): void

Defined in: Logger.ts:238

Log at LogLevel.ERROR.

Parameters ​

args ​

...unknown[]

Returns ​

void


fatal() ​

fatal(...args): void

Defined in: Logger.ts:243

Log at LogLevel.FATAL.

Parameters ​

args ​

...unknown[]

Returns ​

void


getLevel() ​

getLevel(): LogLevel

Defined in: Logger.ts:295

Get the current minimum log level.

Returns ​

LogLevel


info() ​

info(...args): void

Defined in: Logger.ts:223

Log at LogLevel.INFO.

Parameters ​

args ​

...unknown[]

Returns ​

void


removeListener() ​

removeListener(listener): this

Defined in: Logger.ts:347

Remove a previously registered listener.

Parameters ​

listener ​

LogListener

Returns ​

this

this, for chaining.


setLevel() ​

setLevel(level): this

Defined in: Logger.ts:287

Set the minimum log level. Messages below this level are not output.

Parameters ​

level ​

LogLevel

Returns ​

this

this, for chaining.


setTimestamp() ​

setTimestamp(format): this

Defined in: Logger.ts:325

Set the timestamp format. Pass true for ISO, a string for a built-in format, false to disable, or a function for custom formatting.

Parameters ​

format ​

boolean | TimestampFormat

Returns ​

this

this, for chaining.


silent() ​

silent(): this

Defined in: Logger.ts:359

Disable all log output by setting the level to LogLevel.SILENT. Listeners still receive entries whose level is >= SILENT (i.e. none, since SILENT is the maximum).

Returns ​

this

this, for chaining.


trace() ​

trace(...args): void

Defined in: Logger.ts:213

Log at LogLevel.TRACE.

Parameters ​

args ​

...unknown[]

Returns ​

void


use() ​

use(middleware): this

Defined in: Logger.ts:255

Register a middleware in the logging pipeline.

Middleware run in registration order on every log call. Mutate ctx.args and call next() to forward the log downstream.

Parameters ​

middleware ​

LogMiddleware

Returns ​

this

this, for chaining.


warn() ​

warn(...args): void

Defined in: Logger.ts:233

Alias for warning.

Parameters ​

args ​

...unknown[]

Returns ​

void


warning() ​

warning(...args): void

Defined in: Logger.ts:228

Log at LogLevel.WARNING.

Parameters ​

args ​

...unknown[]

Returns ​

void

Released under the MIT License.