log4js
官网:
https://logging.apache.org/log4j/2.x/manual/configuration.html#AutomaticConfiguration
log4js.configure文件配置日志的类型以及记录的方式
注:一定要配置deault的日志记录
const path = require('path');
const log4js = require('log4js');
log4js.configure({
appenders: {
sql: {
// 定义一个sql日志出口
type: 'dateFile',//以日期作为文件名
filename: path.resolve(__dirname, 'logs', 'sql', 'logging.log'),//配置日志记录的文件所在的地址
maxLogSize: 1024,//文件的最大字节数
keepFileExt: true,//保持文件的后缀
layout: {
type: "pattern",
patter: "%d{yyyy-MM-dd hh:mm:ss} %p %c :%m%n"
}
},
default: {
type: "file",
filename: path.resolve(__dirname, 'logs', 'default', 'logging.log'),
}
},
categories: {
sql: {
appenders: ["sql"],//该分类使用sql的配置写入日制
level: 'all'
},
default: {
appenders: ["default"],
level: "all"
}
}
})
process.on('exit', () => {
log4js.shutdown();
})
const sqlLogger = log4js.getLogger('sql');
const logger = log4js.getLogger('default');
require('./models/relation')
const { sqlLogger } = require('./logger');
setInterval(() => {
sqlLogger.info('abc');
}, 100)
当最设置的最大字节数超过的时候进行备份
和数据库相结合
const { Sequelize } = require('sequelize');
const { sqlLogger } = require('../logger')
const sequelize = new Sequelize('myschool', 'root', 'xxxxxx', {
host: 'localhost',
dialect: 'mysql',
logging: (msg) => {
sqlLogger.info(msg)
}
});
module.exports = sequelize;