Logger
Logging wrapper.
This is used to allow turning on/off:
- console.log
- console.warn
- console.error
Usage
1import {Logger, LogLevel, LogTag} from '@wonderlandengine/api';
2
3// Create a logger with only the "error" and "warn" levels activated
4const logger = new Logger(LogLevel.Warn, LogLevel.Error);
5
6// Only the "error" and "warn" levels are activated,
7// this message isn't logged.
8logger.info(LogTag.Component, 'This message is shushed')
9
10// Prints 'Hello Error!'
11logger.error(LogTag.Component, 'Hello Error!');
12
13// Prints 'Hello Warning!'
14logger.warn(LogTag.Component, 'Hello Warning!');
The log levels can be changed at anytime using the BitSet api:
Tags
In addition, the logger supports tagging messages:
1import {Logger, LogLevel, LogTag} from '@wonderlandengine/api';
2
3const logger = new Logger(LogLevel.Info);
4
5logger.tags.disableAll();
6
7// All tags are off, this message isn't logged
8logger.info(LogTag.Component, 'This message is shushed');
9
10logger.tags.enable(LogTag.Component);
11logger.info(LogTag.Component, 'Hello World!') // Prints 'Hello World!'
The tagging system gives another layer of control to enable / disable some specific logs.
.constructor(…levels: LogLevel[][]) ⇒ Logger
Create a new logger instance.
Param | Type | Description |
---|---|---|
levels | LogLevel[] | Default set of levels to enable. |
.onLog: Emitter<[LogLevel, unknown[], number]>
Notified when an info
, warn
, or error
message is logged.
Note: The emitter is always notified, even if the logger levels and tags are disabled.
Note: The message is passed as an array, similar to console.log
.
Usage
1import {LogLevel} from '@wonderlandengine/api';
2
3engine.logger.onLog.add((level, messages, tag) => {
4 // Only process error messages
5 if (level !== LogLevel.Error) return;
6
7 // Only process engine logs
8 if (tag !== LogTag.Engine) return;
9
10 const str = messages.join(' ');
11 sendAnalytics(str);
12});
.error(tag: number, …msg: unknown[][]) ⇒ Logger
Log the message(s) using console.error
.
Returns: Reference to self (for method chaining).
Param | Type | Description |
---|---|---|
tag | number | Tag represented by a positive integer. |
msg | unknown[] | A spread of message to log. |
.info(tag: number, …msg: unknown[][]) ⇒ Logger
Log the message(s) using console.log
.
Returns: Reference to self (for method chaining).
Param | Type | Description |
---|---|---|
tag | number | Tag represented by a positive integer. |
msg | unknown[] | A spread of message to log. |
.warn(tag: number, …msg: unknown[][]) ⇒ Logger
Log the message(s) using console.warn
.
Returns: Reference to self (for method chaining).
Param | Type | Description |
---|---|---|
tag | number | Tag represented by a positive integer. |
msg | unknown[] | A spread of message to log. |