@web5/common
Version:
42 lines • 1.2 kB
JavaScript
/**
* Web5 logger level.
*/
export var Web5LogLevel;
(function (Web5LogLevel) {
Web5LogLevel["Debug"] = "debug";
Web5LogLevel["Silent"] = "silent";
})(Web5LogLevel || (Web5LogLevel = {}));
/**
* A Web5 logger implementation.
*/
class Web5Logger {
constructor() {
this.logLevel = Web5LogLevel.Silent; // Default to silent/no-op log level
}
setLogLevel(logLevel) {
this.logLevel = logLevel;
}
log(message) {
this.info(message);
}
info(message) {
if (this.logLevel === Web5LogLevel.Silent) {
return;
}
console.info(message);
}
error(message) {
if (this.logLevel === Web5LogLevel.Silent) {
return;
}
console.error(message);
}
}
// Export a singleton logger instance
export const logger = new Web5Logger();
// Attach logger to the global window object in browser environment for easy access to the logger instance.
// e.g. can call `web5logger.setLogLevel('debug');` directly in browser console.
if (typeof window !== 'undefined') {
window.web5logger = logger; // Makes `web5Logger` accessible globally in browser
}
//# sourceMappingURL=logger.js.map