koa2后台服务安装使用及日志记录

222 阅读1分钟

koa2安装使用

koa2脚手架安装

npm install -g koa-generator

创建项目

koa2 -e koa2-demo

安装依赖

npm install

启动项目

npm start

Vscode调试

创建launch.json

调试1.png

选择完自动在工程生产.vscode目录并生成launch.json文件

调试2.png

运行调试

点击开始调试,程序开始运行,通过设置断点进行调试

调试3.png

koa-log4日志记录

koa-log4 ⽐较好⽤的node环境下处理⽇志处理的模块

koa-log4 在 log4js-node 的基础上做了⼀次包装,是 koa 的⼀个处理⽇志的中间 件,此模块可以帮助你按照你配置的规则分叉⽇志消息。

安装koa-log4

npm install koa-log4

在根⽬录下新建 logger/ ⽬录

在 logger/ ⽬录下新建 logs/ ⽬录,⽤来存放⽇志⽂件

在 logger/ ⽬录下新建 index.js ⽂件

const path = require('path');
const log4js = require('koa-log4');
​
log4js.configure({
  appenders: {
    access: {
      type: 'dateFile',
      pattern: '-yyyy-MM-dd.log', //生成文件的规则
      alwaysIncludePattern: true,
      encoding: 'utf-8',
      filename: path.join(__dirname, 'logs', 'access') //生成文件名
    },
    application: {
      type: 'dateFile',
      pattern: '-yyyy-MM-dd.log',
      alwaysIncludePattern: true,
      encoding: 'utf-8',
      filename: path.join(__dirname, 'logs', 'application')
    },
    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.logger = log4js.getLogger('application');  //记录所有应用级别的日志

访问级别日志使用

const {accessLogger, logger} = require('./logger')
​
app.use(accessLogger());

应用级别日志使用

const {accessLogger, logger} = require('./logger')
​
app.on('error', (err, ctx) => {
  console.error('server error', err, ctx)
  logger.error(err)
});

所有日志都在根目录下的logger/logs下