Files
fx_cast/ext/src/lib/logger.ts

45 lines
1.3 KiB
TypeScript

"use strict";
export class Logger {
constructor(private prefix: string) {}
public log(message: string, data?: unknown) {
const formattedMessage = `${this.prefix} (Log): ${message}`;
if (data) {
// eslint-disable-next-line no-console
console.log(formattedMessage, data);
} else {
// eslint-disable-next-line no-console
console.log(formattedMessage);
}
}
public info(message: string, data?: unknown) {
const formattedMessage = `${this.prefix} (Info): ${message}`;
if (data) {
console.info(formattedMessage, data);
} else {
console.info(formattedMessage);
}
}
public warn(message: string, data?: unknown) {
const formattedMessage = `${this.prefix} (Warning): ${message}`;
if (data) {
console.warn(formattedMessage, data);
} else {
console.warn(formattedMessage);
}
}
public error(message: string, data?: unknown) {
const formattedMessage = `${this.prefix} (Error): ${message}`;
if (data) {
console.error(formattedMessage, data);
} else {
console.error(formattedMessage);
}
return new Error(formattedMessage);
}
}
export default new Logger("fx_cast");