Log.ts 874 B

1234567891011121314151617181920212223242526272829303132
  1. import {Interfaces} from "./Interfaces";
  2. export namespace Log {
  3. export class ConsoleLogger implements Interfaces.LoggerInterface {
  4. private mode: Interfaces.AppMode;
  5. constructor(mode: Interfaces.AppMode) {
  6. this.mode = mode;
  7. }
  8. debug(message) {
  9. if (this.mode.isEqualsTo(Interfaces.AppMode.DEV())) {
  10. console.log(`\x1b[30m\x1b[43m%s\x1b[0m[%s]: %s`, '[DEBUG]', this.getDate(), message);
  11. }
  12. }
  13. error(message) {
  14. console.log(`\x1b[30m\x1b[41m%s\x1b[0m[%s]: %s`, '[ERROR]', this.getDate(), message);
  15. }
  16. info(message) {
  17. console.log(`\x1b[32m\x1b[40m%s\x1b[0m[%s]: %s`, '[INFO ]', this.getDate(), message);
  18. }
  19. private getDate() {
  20. let date = (new Date);
  21. return date.toUTCString();
  22. }
  23. }
  24. }