Sequelize的日志记录
log4js-node-日志记录
文档:https://log4js-node.github.io/log4js-node/index.html
日志等级划分
简单使用
const log4js = require('log4js');
const path = require('path');
log4js.configure({
// 输出
appenders: {
sql: {
type: 'dateFile', // 日志类型
filename: path.resolve(__dirname, 'logs', 'sql', 'logging.log'), // 文件路径
keepFileExt: true, // 保持文件后缀
daysToKeep: 2, // 保留几天的日志
compress: true, // 压缩
maxLogSize: 1024 * 1024, // 最大储存量 达到最大存储量会将其移入备份文件夹
layout: {
type: 'pattern',
pattern: '%c [%d{yyyy-MM-dd hh:mm:ss}] [%p]: %m%n', // 日志格式
},
},
default: {
type: 'stdout',
},
},
// 类型
categories: {
sql: {
appenders: ['sql'],
level: 'all', //日志等级 只会显示该等级以上的日志信息,包含该等级
},
default: { appenders: ['default'], level: 'debug' },
},
});
process.on('exit', ()=> {
log4js.shutdown();
})
const sqlLogger = log4js.getLogger('sql');
const defaultLogger = log4js.getLogger('default');
exports.sqlLogger = sqlLogger;
exports.logger = defaultLogger;
配合Sequelize的记录日志
const { Sequelize } = require('sequelize');
const { sqlLogger } = require('../logger');
// 方法 2: 分别传递参数 (其它数据库)
const sequelize = new Sequelize('myschooldb', 'root', '123456', {
host: 'localhost',
dialect: 'mysql' /* 选择 'mysql' | 'mariadb' | 'postgres' | 'mssql' 其一 */,
// 日志记录
logging: (msg) => {
sqlLogger.debug(msg)
}
});
module.exports = sequelize
效果图
开启啦vscode的多行展示
压缩包是测试产生的,由于设置啦最大储存量,达到最大量后将其移入备份中,由于我开启啦压缩就是图上的那样