Logger
Logging wrapper.
This is used to allow turning on/off:
- console.log
- console.warn
- console.error
Usage
import {Logger, LogLevel, LogTag} from '@wonderlandengine/api';
// Create a logger with only the "error" and "warn" levels activated
const logger = new Logger(LogLevel.Warn, LogLevel.Error);
// Only the "error" and "warn" levels are activated,
// this message isn't logged.
logger.info(LogTag.Component, 'This message is shushed')
// Prints 'Hello Error!'
logger.error(LogTag.Component, 'Hello Error!');
// Prints 'Hello Warning!'
logger.warn(LogTag.Component, 'Hello Warning!');
The log levels can be changed at anytime using the BitSet api:
// Enable the "info" level
logger.levels.enable(LogLevel.Info);
* // Disable the "warn" level
logger.levels.disable(LogLevel.Warn);
Tags
In addition, the logger supports tagging messages:
import {Logger, LogLevel, LogTag} from '@wonderlandengine/api';
const logger = new Logger(LogLevel.Info);
logger.tags.disableAll();
// All tags are off, this message isn't logged
logger.info(LogTag.Component, 'This message is shushed');
logger.tags.enable(LogTag.Component);
logger.info(LogTag.Component, 'Hello World!') // Prints 'Hello World!'
The tagging system gives another layer of control to enable / disable some specific logs.
Static Members
- .constructor(…levels) ⇒ Logger
Properties
Methods
Constructor
.constructor(…levels: LogLevel[][]) ⇒ Logger
Create a new logger instance.
| Param | Type | Description |
|---|---|---|
levels | LogLevel[] | Default set of levels to enable. |
Properties
.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
import {LogLevel} from '@wonderlandengine/api';
engine.logger.onLog.add((level, messages, tag) => {
// Only process error messages
if (level !== LogLevel.Error) return;
// Only process engine logs
if (tag !== LogTag.Engine) return;
const str = messages.join(' ');
sendAnalytics(str);
});
Methods
.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. |