Files
hitstar/src/server-deno/shared/logger.ts

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();