美文网首页nodejs
node日志-log4js

node日志-log4js

作者: ThemisHoo | 来源:发表于2019-01-10 11:03 被阅读0次

分享一个NodeJS中写日志的第三方包:Log4js.

安装log4js

npm install log4js

创建log.js

/**
 * Created by hu on 2019/1/9
 */
const path = require('path');
const log4js = require('log4js');
const logPath = process.env.LOG_PAHT || CONFIG.log.path,
      logType = CONFIG.log.type || 'info',
      logLevel = (CONFIG.log.level || 'all').toUpperCase();

// 自定义日志类别
log4js.configure({
    appenders: [
        {
            type: 'console',
            category: "console"
        }, // 控制台输出
        {
            type: 'file',
            category: 'fileLog',
            filename: path.join(logPath, 'log.log'),
            maxLogSize: 104857600,
            backups: 100
        }, // 单文件输出
        {
            type: 'logLevelFilter',
            level: 'DEBUG',
            category: 'recordRequestTime',
            appender: {
                type: 'file',
                filename: path.join(logPath, 'time.log'),
                pattern: '-yyyy-MM-dd.log',
                alwaysIncludePattern: true,
            },
        },
        {
            type: 'logLevelFilter',
            level: 'DEBUG',
            category: 'recordUploadFileError',
            appender: {
                type: 'file',
                filename: path.join(logPath, 'upload.log'),
                pattern: '-yyyy-MM-dd.log',
                alwaysIncludePattern: true,
            },
        },
        {
            type: "dateFile",
            category: 'dateFileLog',
            filename: path.join(logPath, 'log'),
            pattern: "-yyyy-MM-dd.log",
            alwaysIncludePattern: true
        } // 日期格式文件输出
    ],
    replaceConsole: true,   //替换console.log
    levels: {
        console: 'ALL',
        fileLog: 'ALL',
        dateFileLog: 'ALL'
    }
});
const logger = log4js.getLogger(logType || 'dateFileLog');
const getLogger = (type) => {
    return log4js.getLogger(type);
}
// 设置日志级别
logger.setLevel(logLevel.toUpperCase());
// 设置日志脱敏
logger.setMask(CONFIG.log.mask);

exports.logger = logger;
exports.getLogger = getLogger;
exports.use = (app) => {
    app.use(log4js.connectLogger(logger, {level: 'info', format: ':method :url :status :response-timems'}));
}

创建系统配置文件 config/index.js

const config = {
    debug: true,
    log: {
        path: './',
        type: 'console',
        level: 'debug',
        mask: true
    }
}

module.exports = config;

在入口文件 app.js 中添加全局LOG和CONFIG

// 系统配置
global.CONFIG = require('./config/index');

// 日志对象
const log = require('./log');
global.LOG = log.logger;
global.TIMELOG = log.getLogger('recordRequestTime');
global.UPLOADERROR = log.getLogger('recordUploadFileError');

调用日志user.js

var express = require('express');
var router = express.Router();
const request = require('request');

/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('index', { title: 'Express-test' });
});

// 接口
router.get('/gettest', (req, res, next) => {
  request.get({
    url: `http-url`,
    json: req.body,
    headers:{
        'Content-Type': 'application/json',
    },
    gzip:true,
    }, (err, response, body) => {
        LOG.info(body); // 调用日志
        if (err) {
            res.json(err);
        } else {
            res.json(body);
        }
    });
});
module.exports = router;

相关文章

  • 使用log4js打印日志

    使用log4js打印日志 不管在做任何开发的时候,打印日志都是很重要的功能。在Node.js中,最普通的打日志的方...

  • node日志-log4js

    分享一个NodeJS中写日志的第三方包:Log4js. 安装log4js 创建log.js 创建系统配置文件 co...

  • Node.js之日志管理log4js V4

    log4js是一个基于Node.js的第三方日志模块,为什么我们需要日志呢? 显示程序的运行状态 帮助开发者排除故...

  • log4js的使用

    前言 实现进程层面文件日志的写入 封装的log4js日志类 示例demo

  • 2018-12-27 log4js日志监控configure使用

    java 有log4j,js也有log4js 使用方法: //引入对应的module,log4js提供了配置日志输...

  • log4js 日志加上行数和文件名

    在使用log4js打印日志的时候,我们需要打印对应的行数以及对应文件名的话,在网上没找到,所以就去了log4js的...

  • 用到的模块

    mongoose操作mongodb utility一些加密工具,常用工具 log4js日志工具

  • node项目log4js进行日志记录

    安装与了解 目前的版本是:6.6.1 在终端打印消息: 终端效果: log4的日志默认由:时间 级别 类型 - 日...

  • ELK日志收集处理

    https://www.elastic.co/ 1)收集-能够采集多种来源的日志数据 Log4js PM22...

  • 再说打日志你不会,pm2 + log4js,你值得拥有

    最近接了个新需求,让在服务器通过Nodejs去打日志文件,捕捉请求日志。。。然后我就想到了log4js…… 废话不...

网友评论

    本文标题:node日志-log4js

    本文链接:https://www.haomeiwen.com/subject/cjvorqtx.html