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.
vue-shop-admin-work/modules/logger.js

44 lines
3.2 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

// 引入log4js模块它是一个用于在Node.js应用中进行日志记录的常用库能够方便地实现不同级别的日志输出以及日志的格式化、存储等功能
var log4js = require('log4js');
// 使用log4js的configure方法进行日志配置配置项以对象形式传入
log4js.configure({
// 配置日志的输出目标appenders这里定义了一个名为'cheese'的输出配置
appenders: {
// 'type'指定了输出类型为'file',即输出到文件
// 'filename'指定了输出的文件名是'cheese.log',意味着日志信息将会被记录到该文件中
cheese: { type: 'file', filename: 'cheese.log' }
},
// 配置日志的分类categories用于将不同的日志记录器划分到不同的类别并指定每个类别的相关属性
categories: {
// 'default'表示默认的日志类别
default: {
// 'appenders'数组指定了该类别使用的日志输出目标,这里只使用了前面定义的'cheese'输出目标
appenders: ['cheese'],
// 'level'指定了该类别日志记录的级别,这里设置为'error',表示只有错误级别及以上的日志才会被记录到对应的输出目标中
level: 'error'
}
}
});
// 将一个名为'logger'的函数作为模块的属性导出,用于获取日志记录器实例
exports.logger = function (level) {
// 通过log4js的getLogger方法获取名为'cheese'的日志记录器实例,后续可以使用这个实例来记录相应的日志信息
var logger = log4js.getLogger("cheese");
// 设置该日志记录器的日志级别为'debug',这意味着从调试级别(最低级别)开始的所有日志都会被记录,覆盖了之前配置中'default'类别里设置的'error'级别(此处修改可能根据实际需求而定)
logger.level = 'debug';
// 返回配置好的日志记录器实例,外部模块可以调用该函数获取实例后进行日志记录操作
return logger;
};
// 以下是一段被注释掉的代码从函数名和使用方式来看它原本是用于配合Express框架使用的方法用于在Express应用中集成log4js日志记录功能
// exports.use = function (app, level) {
// // 在Express应用中使用log4js的connectLogger中间件来记录请求相关的日志信息
// // 首先通过log4js的getLogger方法获取名为'logInfo'的日志记录器实例(这里假设'logInfo'是之前定义好的某个日志记录器名称,实际可能需要准确配置)
// app.use(log4js.connectLogger(log4js.getLogger('logInfo'), {
// // 设置日志记录的级别,它会尝试从传入的'level'参数获取对应级别,如果没有则使用默认的'debug'级别(这里的'levels'变量未在提供的代码中定义,可能是一个定义了不同日志级别映射关系的对象,实际应用中需要准确处理)
// level: levels[level] || levels['debug'],
// // 定义日志记录的格式这里使用了简单的格式字符串指定记录请求的方法、URL以及响应状态等信息方便后续查看请求相关的日志详情
// format: ':method :url :status'
// }));
// };