koa-log4 管理nodeJs訪問日誌、系統日誌

使用nodeJs koa2框架開發後端應用,使用koa-log4中間件管理nodeJs訪問日誌、系統日誌。

1、安裝koa-log4

由於項目使用了koa2,因此安裝的高版本的log4,node

$ npm i --save koa-log4@2

若是使用koa1,請使用指令npm

$ npm i --save koa-log4@1

koa-log4 Npm主頁後端

2、新建log4.js文件來配置log4

const path = require('path');//引入原生path模塊
const log4js = require('koa-log4');//引入koa-log4

log4js.configure({
  appenders: {
    //訪問日誌
    access: {
      type: 'dateFile',
      pattern: '-yyyy-MM-dd.log', //經過日期來生成文件
      alwaysIncludePattern: true, //文件名始終以日期區分
      encoding:"utf-8",
      filename: path.join('logs/', 'access.log') //生成文件路徑和文件名
    },
    //系統日誌
    application: {
      type: 'dateFile',
      pattern: '-yyyy-MM-dd.log', //經過日期來生成文件
      alwaysIncludePattern: true, //文件名始終以日期區分
      encoding:"utf-8",
      filename: path.join('logs/', 'application.log') //生成文件路徑和文件名
    },
    out: {
      type: 'console'
    }
  },
  categories: {
    default: { appenders: [ 'out' ], level: 'info' },
    access: { appenders: [ 'access' ], level: 'info' },
    application: { appenders: [ 'application' ], level: 'WARN'}
  }
});

exports.accessLogger = () => log4js.koaLogger(log4js.getLogger('access')); //記錄全部訪問級別的日誌
exports. systemLogger = log4js.getLogger('application');  //記錄全部應用級別的日誌

3、如何使用日誌

  • 訪問日誌--記錄用戶全部訪問請求,以中間件的形式在koa入口使用便可
const Koa = require('koa');
    const app = new Koa();
    const {  accessLogger,systemLogger, } = require('./logger');
    const router = new KoaRouter();
    app.use(accessLogger()); //中間件
  • 系統日誌--記錄系統狀態的errorapp

    app.on('error', err => {logger.error(err); });

4、效果

clipboard.png

clipboard.png

clipboard.png

相關文章
相關標籤/搜索