@dynamic-labs/logger
Advanced tools
Comparing version
{ | ||
"name": "@dynamic-labs/logger", | ||
"version": "4.20.7", | ||
"version": "4.20.8", | ||
"description": "A simple client side logging library used in Dynamic SDK", | ||
@@ -5,0 +5,0 @@ "author": "Dynamic Labs, Inc.", |
@@ -23,3 +23,4 @@ import EventEmitter from 'eventemitter3'; | ||
private name; | ||
private level; | ||
private static globalLogLevel; | ||
private _level; | ||
private static globalKeys; | ||
@@ -33,3 +34,3 @@ static troubleshootModeEnabled: boolean; | ||
static events: EventEmitter<{ | ||
error: (...message: any[]) => void; | ||
log: (level: LogLevel, message: Message, ...args: any[]) => void; | ||
}, any>; | ||
@@ -40,2 +41,5 @@ private getNameArray; | ||
setLogLevel(level: LogLevel | keyof typeof LogLevel): void; | ||
static setLogLevel(level: LogLevel | keyof typeof LogLevel): void; | ||
static resetLogLevel(): void; | ||
get level(): LogLevel; | ||
private formatMessage; | ||
@@ -42,0 +46,0 @@ private captureAndSend; |
@@ -8,2 +8,4 @@ 'use client' | ||
import { processArgs } from './utils/processArgs.js'; | ||
import { mapLogLevel } from './utils/mapLogLevel.js'; | ||
import { createCircularReferenceReplacer } from './utils/createCircularReferenceReplacer.js'; | ||
@@ -15,16 +17,6 @@ /* eslint-disable @typescript-eslint/no-explicit-any, no-console */ | ||
constructor(name, level) { | ||
var _a; | ||
this.name = name; | ||
this._level = undefined; | ||
this.metaData = new MetaData(); | ||
if (level === undefined && | ||
typeof process !== 'undefined' && | ||
((_a = process.env) === null || _a === void 0 ? void 0 : _a['NODE_ENV']) !== 'production') { | ||
this.level = LogLevel.DEBUG; | ||
} | ||
else if (level === undefined) { | ||
this.level = LogLevel.WARN; | ||
} | ||
else { | ||
this.level = level; | ||
} | ||
this._level = level; | ||
if (typeof window !== 'undefined' && window.localStorage !== undefined) { | ||
@@ -64,11 +56,24 @@ Logger.troubleshootModeEnabled = | ||
setLogLevel(level) { | ||
if (level in LogLevel && typeof level === 'string') { | ||
this.level = LogLevel[level]; | ||
this._level = mapLogLevel(level); | ||
} | ||
static setLogLevel(level) { | ||
Logger.globalLogLevel = mapLogLevel(level); | ||
} | ||
static resetLogLevel() { | ||
Logger.globalLogLevel = undefined; | ||
} | ||
get level() { | ||
var _a; | ||
if (Logger.globalLogLevel && !this._level) { | ||
return Logger.globalLogLevel; | ||
} | ||
else if (level in LogLevel && typeof level === 'number') { | ||
this.level = level; | ||
if (this._level === undefined && | ||
typeof process !== 'undefined' && | ||
((_a = process.env) === null || _a === void 0 ? void 0 : _a['NODE_ENV']) !== 'production') { | ||
return LogLevel.DEBUG; | ||
} | ||
else { | ||
throw new Error(`Invalid log level: ${level}`); | ||
if (this._level === undefined) { | ||
return LogLevel.WARN; | ||
} | ||
return this._level; | ||
} | ||
@@ -87,3 +92,3 @@ formatMessage(level, message) { | ||
else if (message instanceof Object) { | ||
message = JSON.stringify(message); | ||
message = JSON.stringify(message, createCircularReferenceReplacer()); | ||
} | ||
@@ -172,2 +177,3 @@ const names = (Array.isArray(this.name) ? this.name : [this.name]).map((name) => `[${name}]`); | ||
} | ||
Logger.events.emit('log', level, message, ...args); | ||
const fmtMsg = this.formatMessage(level, message); | ||
@@ -201,6 +207,6 @@ switch (level) { | ||
error(message, ...args) { | ||
Logger.events.emit('error', message, ...args); | ||
this.log(LogLevel.ERROR, message, ...args); | ||
} | ||
} | ||
Logger.globalLogLevel = undefined; | ||
Logger.globalKeys = { | ||
@@ -207,0 +213,0 @@ emitErrors: true, |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
493675
0.71%28
27.27%941
10.06%21
5%38
5.56%10
25%298
0.68%