Skip to content

Class Logger ​

Source: logger.ts

A simple wrapper for console that logs formatted text and supports log levels.

Constructors ​

Constructor ​

new Logger(options?: { level?: LogLevel | LogLevel[]; prefix?: string | { 0?: string; 1?: string; 2?: string; 3?: string; 4?: string; global?: string; }; }): Logger

Parameters ​

options? ​
level? ​

LogLevel | LogLevel[]

The minimum log level or an array of log levels to enable.

undefined enables all log levels. An array enables all log levels in that array. A single level enables that log level and the ones above.

prefix? ​

string | { 0?: string; 1?: string; 2?: string; 3?: string; 4?: string; global?: string; }

The prefix(es) to prepend to logs.

Does not override default prefixes unless specified.

Returns ​

Logger

Constructor ​

new Logger(level: LogLevel): Logger

Parameters ​

level ​

LogLevel

The minimum log level.

Returns ​

Logger

Constructor ​

new Logger(levels: LogLevel[]): Logger

Parameters ​

levels ​

LogLevel[]

The log levels to enable.

Returns ​

Logger

Properties ​

level? ​

optional level?: LogLevel | LogLevel[]

The minimum log level or an array of log levels to enable.

undefined enables all log levels. An array enables all log levels in that array. A single level enables that log level and the ones above.

Default ​

ts
LogLevel.Debug

indent ​

indent: number = 0

The current level of indentation.

Default ​

ts
0

indentString? ​

optional indentString?: string

The string to use for indentation.

Default ​

ts
"\t"

highlight ​

highlight: Formatter = Ansi.cyan

The function to use when highlighting text.

Default ​

ts
Ansi.cyan

See ​

Ansi.cyan


emphasize ​

emphasize: Formatter = Ansi.bold

The function to use when emphasizing text.

Default ​

ts
Ansi.bold

See ​

Ansi.bold


prefix ​

prefix: { 0?: string; 1?: string; 2?: string; 3?: string; 4?: string; global?: string; } = {}

The prefixes to prepend to logs.

0? ​

optional 0?: string

1? ​

optional 1?: string

2? ​

optional 2?: string

3? ​

optional 3?: string

4? ​

optional 4?: string

global? ​

optional global?: string

Default ​

ts
{
	[LogLevel.Info]: Ansi.cyan("[info]"),
	[LogLevel.Success]: Ansi.green("[success]"),
	[LogLevel.Warning]: Ansi.yellow("[warning]"),
	[LogLevel.Error]: Ansi.red("[error]"),
}

Methods ​

reset() ​

reset(): this

Resets all properties to their default values.

Returns ​

this


indented() ​

Call Signature ​

indented(callback: (this: undefined) => void, indentation?: number): this

Calls a function while the level of indentation is increased.

Increases the level of indentation, then calls the function and finally restores the indentation.

Parameters ​
callback ​

(this: undefined) => void

The function to call.

indentation? ​

number

The amount of indentation to use.

Returns ​

this

Call Signature ​

indented(lines: unknown[], indentation?: number, level?: LogLevel): this

Logs every line while the level of indentation is increased.

Increases the level of indentation, then logs every line and finally restores the indentation.

Parameters ​
lines ​

unknown[]

The lines to log.

indentation? ​

number

The amount of indentation to use.

level? ​

LogLevel

The log level.

Returns ​

this

Call Signature ​

indented(message: unknown, indentation?: number, level?: LogLevel): this

Logs a message while the level of indentation is increased.

Increases the level of indentation, then logs the message and finally restores the indentation.

Parameters ​
message ​

unknown

The message to log.

indentation? ​

number

The amount of indentation to use.

level? ​

LogLevel

The log level.

Returns ​

this


tab() ​

tab(amount?: number): this

Increases the level of indentation.

Parameters ​

amount? ​

number = 1

The amount to increase the level of indentation with.

Returns ​

this


shiftTab() ​

shiftTab(amount?: number): this

Decreases the level of indentation.

Parameters ​

amount? ​

number = 1

The amount to decrease the level of indentation with.

Returns ​

this


setPrefix() ​

Call Signature ​

setPrefix(prefix: string): this

Sets the prefix to prepend to all logs.

Parameters ​
prefix ​

string

The prefix to use.

Returns ​

this

Call Signature ​

setPrefix(prefixes: { 0?: string; 1?: string; 2?: string; 3?: string; 4?: string; global?: string; }): this

Sets the prefixes to prepend to logs.

Will override any existing prefixes.

Parameters ​
prefixes ​

The prefixes to use.

0? ​

string

1? ​

string

2? ​

string

3? ​

string

4? ​

string

global? ​

string

Returns ​

this

Call Signature ​

setPrefix(level: LogLevel, prefix: string): this

Sets the prefix to prepend to logs at a given log level.

Parameters ​
level ​

LogLevel

The log level.

prefix ​

string

The prefix to use.

Returns ​

this


fetching() ​

fetching(url: string): this

Logs an info message about a URL being fetched.

Parameters ​

url ​

string

The URL being fetched.

Returns ​

this


pending() ​

pending(message: string): this

Logs an info message that implies a pending state.

Parameters ​

message ​

string

The status message.

Returns ​

this


error() ​

error(message: unknown, ...details: unknown[]): this

Logs an error message.

Parameters ​

message ​

unknown

The error message or reason.

details ​

...unknown[]

The details of the error message.

Returns ​

this


warn() ​

warn(message: string, ...details: unknown[]): this

Logs a warning message.

Parameters ​

message ​

string

The warning message.

details ​

...unknown[]

The details of the warning message.

Returns ​

this


success() ​

success(message: string, ...details: unknown[]): this

Logs a success message.

Parameters ​

message ​

string

The success message.

details ​

...unknown[]

The details of the success message.

Returns ​

this


info() ​

info(message: string, ...details: unknown[]): this

Logs an info message.

Parameters ​

message ​

string

The info message.

details ​

...unknown[]

The details of the info message.

Returns ​

this


statusMessage() ​

statusMessage(message: string, details: unknown[], level?: LogLevel): this

Logs a status message.

Parameters ​

message ​

string

The status message.

details ​

unknown[]

The details of the status message.

level? ​

LogLevel

The log level.

Returns ​

this


summary() ​

summary(): this

Logs the amount of errors and warnings that have been logged since the previous call to this function or the creation of this logger.

Returns ​

this


parameter() ​

parameter(label: string, value: unknown, level?: LogLevel): this

Logs a labeled parameter.

The value is emphasized using emphasize.

Parameters ​

label ​

string

The label of the parameter.

value ​

unknown

The value of the parameter.

level? ​

LogLevel

The log level.

Returns ​

this


properties() ​

properties(properties: Record<string, unknown>, level?: LogLevel): this

Logs properties as a list of key-value pairs.

Parameters ​

properties ​

Record<string, unknown>

The properties to log.

level? ​

LogLevel

The log level.

Returns ​

this

See ​

()


value() ​

value(label: string, value: unknown, level?: LogLevel): this

Logs a labeled value.

The value is highlighted using highlight.

Parameters ​

label ​

string

The label of the value.

value ​

unknown

The value.

level? ​

LogLevel

The log level.

Returns ​

this


emphasized() ​

emphasized(text: string, level?: LogLevel): this

Logs emphasized text.

Parameters ​

text ​

string

The text to log.

level? ​

LogLevel

The log level.

Returns ​

this


highlighted() ​

highlighted(text: string, level?: LogLevel): this

Logs highlighted text.

Parameters ​

text ​

string

The text to log.

level? ​

LogLevel

The log level.

Returns ​

this


lines() ​

lines(lines: unknown[], level?: LogLevel): this

Logs each item on a new line.

Parameters ​

lines ​

unknown[]

The items to log.

level? ​

LogLevel

The log level.

Returns ​

this


log() ​

log(message: unknown, level?: LogLevel): this

Logs a message.

Parameters ​

message ​

unknown

The message to log.

level? ​

LogLevel

The log level.

Returns ​

this


text() ​

text(text: string, level?: LogLevel): this

Logs text using this logger's format.

Parameters ​

text ​

string

The text to log.

level? ​

LogLevel = LogLevel.Debug

The log level.

Returns ​

this


newLine() ​

newLine(): this

Logs an newline character.

Returns ​

this


isLevelEnabled() ​

isLevelEnabled(level: LogLevel): boolean

Checks if the given log level is enabled.

Parameters ​

level ​

LogLevel

The log level to check.

Returns ​

boolean


format() ​

format(text: string): string

Formats text using this logger's formatting properties.

Parameters ​

text ​

string

The text to format.

Returns ​

string


applyPrefix() ​

applyPrefix(text: string, level?: LogLevel): string

Prepends a prefix to text.

Parameters ​

text ​

string

The text to apply the prefix to.

level? ​

LogLevel

The log level.

Returns ​

string

Accessors ​

errorCount ​

Get Signature ​

get errorCount(): number

Returns ​

number

Set Signature ​

set errorCount(value: number): void

Parameters ​
value ​

number

Returns ​

void


warningCount ​

Get Signature ​

get warningCount(): number

Returns ​

number

Set Signature ​

set warningCount(value: number): void

Parameters ​
value ​

number

Returns ​

void

Built by Prozilla