fix(logger): 将日志格式化输出由pino改为consola

This commit is contained in:
2025-10-21 09:33:43 +00:00
parent 66076bfbb3
commit 60635abfb1
3 changed files with 71 additions and 165 deletions

View File

@ -1,29 +1,19 @@
import pino from 'pino';
import { createConsola } from 'consola';
const consola = createConsola({
reporters: [
{
log: (logObj) => {
console.log(`[${logObj.date.toISOString().split('T')[1]?.replace('Z', '')}] ${logObj.tag ? `[${logObj.tag}]` : ''} ${logObj.type.toUpperCase()} ${logObj.args.join(' ')}`);
}
}
]
})
/**
* 创建一个带命名空间的 logger 实例
*
* @param scope 当前模块的命名空间
* @returns pino Logger 实例
* 创建一个带命名空间的 consola 实例
* @param scope 日志前缀,如 'meili-sync'
*/
export function createLogger(scope: string = 'directus-extension') {
const logger = pino({
level: process.env.LOG_LEVEL || 'info',
transport: {
target: 'pino-pretty',
options: {
colorize: true,
translateTime: 'HH:MM:ss.l',
ignore: 'pid,hostname',
messageFormat: `[${scope}] {levelLabel}: {msg}`,
},
},
});
return {
info: (msg: string, ...args: unknown[]) => logger.info(msg, ...args),
warn: (msg: string, ...args: unknown[]) => logger.warn(msg, ...args),
error: (msg: string, ...args: unknown[]) => logger.error(msg, ...args),
debug: (msg: string, ...args: unknown[]) => logger.debug(msg, ...args),
}
export function createLogger(scope = 'directus-extension') {
return consola.withTag(scope);
}