koa-typescript-sequlize-swagger
Version:
nodejs的后端模板,使用了koa,typescript,koa-swagger-decorator,zod等
71 lines (64 loc) • 2.4 kB
text/typescript
// log4js的配置
import * as log4js from 'log4js'
import path from 'path'
import fs from 'fs'
// 假设当前文件所在的目录为基准,指定统一的日志文件夹
const logDirectory = path.join(path.resolve(__dirname, '../..'), 'src', 'logs')
// 确保日志文件夹存在
if (!fs.existsSync(logDirectory)) {
fs.mkdirSync(logDirectory)
}
log4js.configure({
appenders: {
traceLog: { type: 'file', filename: path.join(logDirectory, 'trace.log'), level: 'trace' },
debugLog: { type: 'file', filename: path.join(logDirectory, 'debug.log'), level: 'debug' },
infoLog: { type: 'file', filename: path.join(logDirectory, 'info.log'), level: 'info' },
warnLog: { type: 'file', filename: path.join(logDirectory, 'warn.log'), level: 'warn' },
errorLog: { type: 'file', filename: path.join(logDirectory, 'error.log'), level: 'error' },
fatalLog: { type: 'file', filename: path.join(logDirectory, 'fatal.log'), level: 'fatal' },
allLog: { type: 'file', filename: path.join(logDirectory, 'all.log') } // 所有级别的日志都会被记录到这里
},
categories: {
trace: { appenders: ['traceLog', 'allLog'], level: 'trace' },
debug: { appenders: ['debugLog', 'allLog'], level: 'debug' },
info: { appenders: ['infoLog', 'allLog'], level: 'info' },
warn: { appenders: ['warnLog', 'allLog'], level: 'warn' },
error: { appenders: ['errorLog', 'allLog'], level: 'error' },
fatal: { appenders: ['fatalLog', 'allLog'], level: 'fatal' },
default: { appenders: ['allLog'], level: 'all' }
}
})
// 获取特定类别的 logger 和定义日志函数等保持不变...
// 获取特定类别的 logger
const traceLogger = log4js.getLogger('trace')
const debugLogger = log4js.getLogger('debug')
const infoLogger = log4js.getLogger('info')
const warnLogger = log4js.getLogger('warn')
const errorLogger = log4js.getLogger('error')
const fatalLogger = log4js.getLogger('fatal')
const trace = (e: string) => {
traceLogger.trace(e)
}
const debug = (e: string) => {
debugLogger.debug(e)
}
const info = (e: string) => {
infoLogger.info(e)
}
const warn = (e: string) => {
warnLogger.warn(e)
}
const error = (e: string) => {
errorLogger.error(e)
}
const fatal = (e: string) => {
fatalLogger.fatal(e)
}
export {
trace,
debug,
info,
warn,
error,
fatal
}