logger.ts 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import { Logger } from '../types.js';
  2. // ANSI color codes
  3. const colors = {
  4. grey: '\x1b[90m',
  5. red: '\x1b[31m',
  6. yellow: '\x1b[33m',
  7. reset: '\x1b[0m',
  8. } as const;
  9. export const debugLogger: Logger = {
  10. info: (message: string) => {
  11. // eslint-disable-next-line no-console
  12. console.log(`[INFO] ${message}`);
  13. },
  14. warn: (message: string) => {
  15. // eslint-disable-next-line no-console
  16. console.warn(`${colors.yellow}[WARN] ${message}${colors.reset}`);
  17. },
  18. debug: (message: string) => {
  19. // eslint-disable-next-line no-console
  20. console.debug(`${colors.grey}[DEBUG] ${message}${colors.reset}`);
  21. },
  22. error: (message: string) => {
  23. // eslint-disable-next-line no-console
  24. console.error(`${colors.red}[ERROR] ${message}${colors.reset}`);
  25. },
  26. };
  27. export const noopLogger: Logger = {
  28. info: () => {
  29. /* noop */
  30. },
  31. warn: () => {
  32. /* noop */
  33. },
  34. debug: () => {
  35. /* noop */
  36. },
  37. error: () => {
  38. /* noop */
  39. },
  40. };