fix(logger): 将日志格式化输出由pino改为consola
This commit is contained in:
@ -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);
|
||||
}
|
||||
Reference in New Issue
Block a user