You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.9 KiB
63 lines
1.9 KiB
|
|
import log4js from "log4js";
|
|
|
|
// 日志目录可通过环境变量 LOG_DIR 配置,默认 logs
|
|
const LOG_DIR = process.env.LOG_DIR || "logs";
|
|
|
|
log4js.configure({
|
|
appenders: {
|
|
all: {
|
|
type: "file",
|
|
filename: `${LOG_DIR}/all.log`,
|
|
maxLogSize: 102400,
|
|
pattern: "-yyyy-MM-dd.log",
|
|
alwaysIncludePattern: true,
|
|
backups: 3,
|
|
layout: {
|
|
type: 'pattern',
|
|
pattern: '[%d{yyyy-MM-dd hh:mm:ss}] [%p] %m',
|
|
},
|
|
},
|
|
error: {
|
|
type: "file",
|
|
filename: `${LOG_DIR}/error.log`,
|
|
maxLogSize: 102400,
|
|
pattern: "-yyyy-MM-dd.log",
|
|
alwaysIncludePattern: true,
|
|
backups: 3,
|
|
layout: {
|
|
type: 'pattern',
|
|
pattern: '[%d{yyyy-MM-dd hh:mm:ss}] [%p] %m',
|
|
},
|
|
},
|
|
jobs: {
|
|
type: "file",
|
|
filename: `${LOG_DIR}/jobs.log`,
|
|
maxLogSize: 102400,
|
|
pattern: "-yyyy-MM-dd.log",
|
|
alwaysIncludePattern: true,
|
|
backups: 3,
|
|
layout: {
|
|
type: 'pattern',
|
|
pattern: '[%d{yyyy-MM-dd hh:mm:ss}] [%p] %m',
|
|
},
|
|
},
|
|
console: {
|
|
type: "console",
|
|
layout: {
|
|
type: "pattern",
|
|
pattern: '\x1b[36m[%d{yyyy-MM-dd hh:mm:ss}]\x1b[0m \x1b[1m[%p]\x1b[0m %m',
|
|
},
|
|
},
|
|
},
|
|
categories: {
|
|
jobs: { appenders: ["console", "jobs"], level: "info" },
|
|
error: { appenders: ["console", "error"], level: "error" },
|
|
default: { appenders: ["console", "all", "error"], level: "all" },
|
|
},
|
|
});
|
|
|
|
// 导出常用 logger 实例,便于直接引用
|
|
export const logger = log4js.getLogger(); // default
|
|
export const jobLogger = log4js.getLogger('jobs');
|
|
export const errorLogger = log4js.getLogger('error');
|
|
|