zzz / frontend /src /utils /event-logger.ts
ar08's picture
Upload 1040 files
246d201 verified
/* eslint-disable no-console */
/**
* A utility class for logging events. This class will only log events in development mode.
*/
class EventLogger {
static isDevMode = process.env.NODE_ENV === "development";
/**
* Format and log a message event
* @param event The raw event object
*/
static message(event: MessageEvent) {
if (this.isDevMode) {
console.warn(JSON.stringify(JSON.parse(event.data.toString()), null, 2));
}
}
/**
* Log an event with a name
* @param event The raw event object
* @param name The name of the event
*/
static event(event: Event, name?: string) {
if (this.isDevMode) {
console.warn(name || "EVENT", event);
}
}
/**
* Log a warning message
* @param warning The warning message
*/
static warning(warning: string) {
if (this.isDevMode) {
console.warn(warning);
}
}
/**
* Log an error message
* @param error The error message
*/
static error(error: string) {
if (this.isDevMode) {
console.error(error);
}
}
}
export default EventLogger;