40 lines
809 B
TypeScript
40 lines
809 B
TypeScript
import * as log from '@std/log';
|
|
|
|
/**
|
|
* Logger configuration and utility
|
|
*/
|
|
|
|
// Initialize logger
|
|
export function initLogger(level: string = 'INFO'): void {
|
|
const logLevel = level.toUpperCase() as keyof typeof log.LogLevels;
|
|
|
|
log.setup({
|
|
handlers: {
|
|
console: new log.ConsoleHandler(logLevel, {
|
|
formatter: (record) => {
|
|
const timestamp = new Date().toISOString();
|
|
return `[${timestamp}] ${record.levelName} ${record.msg}`;
|
|
},
|
|
}),
|
|
},
|
|
loggers: {
|
|
default: {
|
|
level: logLevel,
|
|
handlers: ['console'],
|
|
},
|
|
},
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Get logger instance
|
|
*/
|
|
export function getLogger(name = 'default'): log.Logger {
|
|
return log.getLogger(name);
|
|
}
|
|
|
|
/**
|
|
* Logger instance for easy import
|
|
*/
|
|
export const logger = getLogger();
|