@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
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
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
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
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
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
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