55
66/** @type {Record<string, string> } ANSI escape codes for coloring log levels in terminal output */
77const COLORS = {
8- debug : '\x1b[36m' , // cyan
9- info : '\x1b[32m' , // green
10- warn : '\x1b[33m' , // yellow
11- error : '\x1b[31m' , // red
12- reset : '\x1b[0m' ,
8+ debug : '\x1b[36m' , // cyan
9+ info : '\x1b[32m' , // green
10+ warn : '\x1b[33m' , // yellow
11+ error : '\x1b[31m' , // red
12+ reset : '\x1b[0m' ,
1313} ;
1414
1515const env = process . env . NODE_ENV || 'development' ;
@@ -20,15 +20,15 @@ const useColor = process.stdout.isTTY || process.stderr.isTTY;
2020 * Returns a formatted timestamp string.
2121 * @returns {string } Timestamp in `YYYY-MM-DD HH:MM:SS` format
2222 */
23- function ts ( ) {
24- const d = new Date ( ) ;
25- const yyyy = d . getFullYear ( ) ;
26- const mm = String ( d . getMonth ( ) + 1 ) . padStart ( 2 , '0' ) ;
27- const dd = String ( d . getDate ( ) ) . padStart ( 2 , '0' ) ;
28- const hh = String ( d . getHours ( ) ) . padStart ( 2 , '0' ) ;
29- const mi = String ( d . getMinutes ( ) ) . padStart ( 2 , '0' ) ;
30- const ss = String ( d . getSeconds ( ) ) . padStart ( 2 , '0' ) ;
31- return `${ yyyy } -${ mm } -${ dd } ${ hh } :${ mi } :${ ss } ` ;
23+ function ts ( ) {
24+ const d = new Date ( ) ;
25+ const yyyy = d . getFullYear ( ) ;
26+ const mm = String ( d . getMonth ( ) + 1 ) . padStart ( 2 , '0' ) ;
27+ const dd = String ( d . getDate ( ) ) . padStart ( 2 , '0' ) ;
28+ const hh = String ( d . getHours ( ) ) . padStart ( 2 , '0' ) ;
29+ const mi = String ( d . getMinutes ( ) ) . padStart ( 2 , '0' ) ;
30+ const ss = String ( d . getSeconds ( ) ) . padStart ( 2 , '0' ) ;
31+ return `${ yyyy } -${ mm } -${ dd } ${ hh } :${ mi } :${ ss } ` ;
3232}
3333
3434/**
@@ -37,9 +37,9 @@ function ts() {
3737 * @returns {string } Uppercased level label, optionally colorized
3838 */
3939function lvl ( level ) {
40- const upper = level . toUpperCase ( ) ;
41- if ( ! useColor ) return upper ;
42- return `${ COLORS [ level ] || '' } ${ upper } ${ COLORS . reset } ` ;
40+ const upper = level . toUpperCase ( ) ;
41+ if ( ! useColor ) return upper ;
42+ return `${ COLORS [ level ] || '' } ${ upper } ${ COLORS . reset } ` ;
4343}
4444
4545/* eslint-disable no-console */
@@ -50,27 +50,27 @@ function lvl(level) {
5050 * @param {...* } args - Values to log
5151 */
5252function log ( level , ...args ) {
53- if ( level === 'debug' && env !== 'development' ) {
54- return ;
55- }
53+ if ( level === 'debug' && env !== 'development' ) {
54+ return ;
55+ }
5656
57- const prefix = `[${ ts ( ) } ] ${ lvl ( level ) } :` ;
58- switch ( level ) {
59- case 'debug' :
60- console . debug ( prefix , ...args ) ;
61- break ;
62- case 'info' :
63- console . info ( prefix , ...args ) ;
64- break ;
65- case 'warn' :
66- console . warn ( prefix , ...args ) ;
67- break ;
68- case 'error' :
69- console . error ( prefix , ...args ) ;
70- break ;
71- default :
72- console . log ( prefix , ...args ) ;
73- }
57+ const prefix = `[${ ts ( ) } ] ${ lvl ( level ) } :` ;
58+ switch ( level ) {
59+ case 'debug' :
60+ console . debug ( prefix , ...args ) ;
61+ break ;
62+ case 'info' :
63+ console . info ( prefix , ...args ) ;
64+ break ;
65+ case 'warn' :
66+ console . warn ( prefix , ...args ) ;
67+ break ;
68+ case 'error' :
69+ console . error ( prefix , ...args ) ;
70+ break ;
71+ default :
72+ console . log ( prefix , ...args ) ;
73+ }
7474}
7575
7676/**
@@ -79,12 +79,12 @@ function log(level, ...args) {
7979 * @namespace logger
8080 */
8181export default {
82- /** @param {...* } a - Values to log at debug level */
83- debug : ( ...a ) => log ( 'debug' , ...a ) ,
84- /** @param {...* } a - Values to log at info level */
85- info : ( ...a ) => log ( 'info' , ...a ) ,
86- /** @param {...* } a - Values to log at warn level */
87- warn : ( ...a ) => log ( 'warn' , ...a ) ,
88- /** @param {...* } a - Values to log at error level */
89- error : ( ...a ) => log ( 'error' , ...a ) ,
82+ /** @param {...* } a - Values to log at debug level */
83+ debug : ( ...a ) => log ( 'debug' , ...a ) ,
84+ /** @param {...* } a - Values to log at info level */
85+ info : ( ...a ) => log ( 'info' , ...a ) ,
86+ /** @param {...* } a - Values to log at warn level */
87+ warn : ( ...a ) => log ( 'warn' , ...a ) ,
88+ /** @param {...* } a - Values to log at error level */
89+ error : ( ...a ) => log ( 'error' , ...a ) ,
9090} ;
0 commit comments