Skip to content

Instantly share code, notes, and snippets.

@TomasKostadinov
Last active August 27, 2020 07:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save TomasKostadinov/14b2c3845a524ed911044f1316bde6b2 to your computer and use it in GitHub Desktop.
Save TomasKostadinov/14b2c3845a524ed911044f1316bde6b2 to your computer and use it in GitHub Desktop.
Typescript Log Class
export interface Configuration {
logging?: boolean;
}
import {Configuration} from '../interfaces/configuration.interface';
export default class Loggy {
constructor(private readonly config: Configuration) {
}
public log(...data: unknown[]) {
if (!this.config?.logging) return;
console.log('📗', ...data);
}
public info(...data: unknown[]) {
if (!this.config?.logging) return;
console.info('📘', ...data);
}
public warn(...data: unknown[]) {
if (!this.config?.logging) return;
console.warn('📙', ...data);
}
public error(...data: unknown[]) {
if (!this.config?.logging) return;
console.error('📕', ...data, '\x1b[0m');
}
}
Vars.loggy = new Loggy(config);
import Loggy from './functions/loggy.func';
export abstract class Vars {
public static loggy: Loggy;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment