Skip to main content

ConsoleLogger

@webda/workout


Class: ConsoleLogger

Defined in: packages/workout/src/loggers/console.ts:38

Console logger that outputs formatted and colored log messages to stdout (or stderr) Supports custom format strings using sprintf-style placeholders

Raw output messages (see useOutput) are always written unformatted to stdout, so logs can be sent to stderr while a command result stays pipeable.

Example​

const output = new WorkerOutput();
new ConsoleLogger(output, "INFO");
output.log("INFO", "Application started");

Extends​

  • WorkerLogger

Extended by​

Constructors​

Constructor​

new ConsoleLogger(output, level?, format?, logStream?): ConsoleLogger

Defined in: packages/workout/src/loggers/console.ts:55

Create a new console logger

Parameters​

output​

WorkerOutput

WorkerOutput instance to listen to

level?​

WorkerLogLevel = ...

Minimum log level to display (default: LOG_LEVEL env var or "INFO")

format?​

string

Optional sprintf format string; defaults to defaultFormat or defaultFormatWithLine

logStream?​

ConsoleLogStream = "stdout"

Stream for log lines (default: stdout); raw output always goes to stdout

Returns​

ConsoleLogger

Overrides​

WorkerLogger.constructor

Properties​

format​

format: string

Defined in: packages/workout/src/loggers/console.ts:44

Active sprintf format string used for output


logStream​

logStream: WritableStream

Defined in: packages/workout/src/loggers/console.ts:46

Stream receiving the log lines


defaultFormat​

static defaultFormat: string = "%(d)s [%(l)s] %(m)s"

Defined in: packages/workout/src/loggers/console.ts:40

Default sprintf format string (date, level, message)


defaultFormatWithLine​

static defaultFormatWithLine: string = "%(d)s [%(l)s] %(m)s (%(f)s:%(ll)d:%(c)d %(ff)s)"

Defined in: packages/workout/src/loggers/console.ts:42

Extended format string that also prints caller file, line, column and function

Methods​

onMessage()​

onMessage(msg): void

Defined in: packages/workout/src/loggers/console.ts:73

Process a WorkerOutput message

Parameters​

msg​

WorkerMessage

The message to handle

Returns​

void

Overrides​

WorkerLogger.onMessage


display()​

static display(msg, format?, stream?): void

Defined in: packages/workout/src/loggers/console.ts:145

Display a formatted and colored log message

Writes to the stream directly rather than through console, so a patched console (see patchConsole) cannot loop back into the logger.

Parameters​

msg​

WorkerMessage

Message to display

format?​

string = ConsoleLogger.defaultFormat

Format string for output

stream?​

WritableStream = process.stdout

Stream to write to (default: stdout)

Returns​

void


format()​

static format(msg, format?): string

Defined in: packages/workout/src/loggers/console.ts:160

Format a log message using sprintf-style placeholders Supports: %(d)s (date), %(l)s (level), %(m)s (message), %(f)s (file), %(ll)d (line), %(c)d (column), %(ff)s (function)

Parameters​

msg​

WorkerMessage

Message to format

format?​

string = ConsoleLogger.defaultFormat

Format string with placeholders

Returns​

string

Formatted log string


getColor()​

static getColor(level): (s) => string

Defined in: packages/workout/src/loggers/console.ts:82

Get the color function for a given log level

Parameters​

level​

WorkerLogLevel

The log level to get color for

Returns​

A function that applies the appropriate color to a string

(s) => string


handleMessage()​

static handleMessage(msg, level, format?, stream?): void

Defined in: packages/workout/src/loggers/console.ts:100

Handle log and title messages with level filtering

Parameters​

msg​

WorkerMessage

Message to process

level​

WorkerLogLevel

Current log level for filtering

format?​

string = ConsoleLogger.defaultFormat

Format string for log output

stream?​

WritableStream = process.stdout

Stream for log lines (default: stdout)

Returns​

void


writeOutput()​

static writeOutput(msg): void

Defined in: packages/workout/src/loggers/console.ts:132

Write a raw output message, unformatted, to stdout

Parameters​

msg​

WorkerMessage

Output message to write

Returns​

void