* add pino dependecy and types
* implements Logger abstracting Pino
This commit is contained in:
@ -1,2 +1,44 @@
|
||||
// Aquí "abstraeré" los logs, para evitar el uso de console.log (por seguridad, y por si queremos extraerlo a algun servicio)
|
||||
// En mi dia usaba winston, llegué a usar pino que era más ligero, supongo que usaré pino, ya veremos.
|
||||
import pino from 'pino';
|
||||
import { config } from '../config/config.js';
|
||||
|
||||
// Create the logger instance with Pino
|
||||
const logger = pino({
|
||||
level: config.nodeEnv === 'production' ? 'info' : 'debug',
|
||||
transport: config.nodeEnv === 'production' ? undefined : {
|
||||
target: 'pino-pretty',
|
||||
options: {
|
||||
colorize: true,
|
||||
translateTime: 'SYS:standard',
|
||||
ignore: 'pid,hostname'
|
||||
}
|
||||
},
|
||||
// Production configuration
|
||||
...(config.nodeEnv === 'production' && {
|
||||
formatters: {
|
||||
level: (label) => {
|
||||
return { level: label };
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
export const Logger = {
|
||||
error: (message: string, meta?: any) => {
|
||||
logger.error(message, meta);
|
||||
},
|
||||
|
||||
warn: (message: string, meta?: any) => {
|
||||
logger.warn(message, meta);
|
||||
},
|
||||
|
||||
info: (message: string, meta?: any) => {
|
||||
logger.info(message, meta);
|
||||
},
|
||||
|
||||
debug: (message: string, meta?: any) => {
|
||||
logger.debug(message, meta);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
export default Logger;
|
Reference in New Issue
Block a user