使用koa-log4管理nodeJs日志笔记的使用方法


Posted in NodeJs onNovember 30, 2018

前言

对于后端程序应用来说,日志是必不可少的,在nodeJs当中并没有自带的日志模块。最近正好使用koa框架来做后端服务,需要对日志进行分割处理,特记录下分享给大家。

一.后端代码目录结构

├── back-end
│ ├── logs 所有产生的日志文件存放在此目录下
│ ├── db.js 使用Sequelize连接数据库
│ ├── logger.js 日志的配置
│ ├── server.js 后端提供的所有接口

二.引用日志模块

log4js-node是一款比较好的在node环境下对于日志处理的模块,由于我的整个项目是基于koa框架,所以我选择了koa-log4模块。

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

三.日志配置logger.js

koa-log4的配置与log4js-node是一样的。

const path = require('path');
const log4js = require('koa-log4');

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

四.日志的使用方法

1.访问日志

对于日志的使用,访问级别的,记录用户的所有请求,作为koa的中间件,直接使用便可,如下:

const Koa = require('koa');
const KoaRouter = require('koa-router');
const app = new Koa();
const router = new KoaRouter();
const { logger, accessLogger } = require('./logger');
const router = new KoaRouter();

app.use(accessLogger());

2.应用日志

应用级别的日志,可记录全局状态下的error,也可记录接口请求当中的错误处理。

捕获全局状态下的error

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

接口请求错误

router.post('/test',async (ctx, next)=>{
 //处理代码
 }catch(e){
  logger.error(e);
  ctx.body = {status:-1, message:e.message};
 }
});

五.自动生成日志

开启node应用对于每一次的请求,都将按日期来生成日志文件,以下是我这几天自动生成的日志文件

使用koa-log4管理nodeJs日志笔记的使用方法

六.日志内容分析

日志文件当中都有详细的记录

使用koa-log4管理nodeJs日志笔记的使用方法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

NodeJs 相关文章推荐
Ubuntu中搭建Nodejs开发环境过程分享
Jun 01 NodeJs
Nodejs下DNS缓存问题浅析
Nov 16 NodeJs
详解NodeJs支付宝移动支付签名及验签
Jan 06 NodeJs
nodejs的压缩文件模块archiver用法示例
Jan 18 NodeJs
nodejs中使用HTTP分块响应和定时器示例代码
Mar 19 NodeJs
详解nodejs中的process进程
Mar 19 NodeJs
NodeJS、NPM安装配置步骤(windows版本) 以及环境变量详解
May 13 NodeJs
详解nodejs模板引擎制作
Jun 14 NodeJs
nodejs基于WS模块实现WebSocket聊天功能的方法
Jan 12 NodeJs
Mac下通过brew安装指定版本的nodejs教程
May 17 NodeJs
NodeJs入门教程之定时器和队列
Mar 08 NodeJs
nodejs中使用worker_threads来创建新的线程的方法
Jan 22 NodeJs
nodejs 使用nodejs-websocket模块实现点对点实时通讯
Nov 28 #NodeJs
NodeJs 文件系统操作模块fs使用方法详解
Nov 26 #NodeJs
详解从NodeJS搭建中间层再谈前后端分离
Nov 13 #NodeJs
手把手教你如何使用nodejs编写cli命令行
Nov 05 #NodeJs
基于nodejs的雪碧图制作工具的示例代码
Nov 05 #NodeJs
nodejs遍历文件夹下并操作HTML/CSS/JS/PNG/JPG的方法
Nov 01 #NodeJs
nodejs中函数的调用实例详解
Oct 31 #NodeJs
You might like
为IP查询添加GOOGLE地图功能的代码
2010/08/08 PHP
php数组函数array_key_exists()小结
2015/12/10 PHP
Yii 2.0如何使用页面缓存方法示例
2017/05/23 PHP
PHP实现单例模式建立数据库连接的方法分析
2020/02/11 PHP
Alliance vs Liquid BO3 第一场2.13
2021/03/10 DOTA
用js重建星际争霸
2006/12/22 Javascript
什么是JavaScript
2009/08/13 Javascript
JS设置cookie、读取cookie、删除cookie
2015/04/17 Javascript
基于Echarts 3.19 制作常用的图形(非静态)
2016/05/19 Javascript
浅谈javascript中遇到的字符串对象处理
2016/11/18 Javascript
学好js,这些js函数概念一定要知道【推荐】
2017/01/19 Javascript
selenium 与 chrome 进行qq登录并发邮件操作实例详解
2017/04/06 Javascript
十大 Node.js 的 Web 框架(快速提升工作效率)
2017/06/30 Javascript
JS 60秒后重新发送验证码的实例讲解
2017/07/26 Javascript
js推箱子小游戏步骤代码解析
2018/01/10 Javascript
jquery实现点击a链接,跳转之后,该a链接处显示背景色的方法
2018/01/18 jQuery
对vue中v-on绑定自定事件的实例讲解
2018/09/06 Javascript
bootstrap table列和表头对不齐的解决方法
2019/07/19 Javascript
es6 super关键字的理解与应用实例分析
2020/02/15 Javascript
React实现轮播效果
2020/08/25 Javascript
Swiper实现导航栏滚动效果
2020/10/16 Javascript
Vue使用鼠标在Canvas上绘制矩形
2020/12/24 Vue.js
[01:00:14]DOTA2官方TI8总决赛纪录片 真视界True Sight
2019/01/16 DOTA
pycharm 使用心得(四)显示行号
2014/06/05 Python
python多线程编程中的join函数使用心得
2014/09/02 Python
对python中array.sum(axis=?)的用法介绍
2018/06/28 Python
Python实现判断一个整数是否为回文数算法示例
2019/03/02 Python
python递归下载文件夹下所有文件
2019/08/31 Python
世界首屈一指的钓鱼用品商店:TackleDirect
2016/07/26 全球购物
东南亚旅游平台:The Trip Guru
2018/01/01 全球购物
《胡杨》教学反思
2014/02/16 职场文书
个人承诺书
2014/03/26 职场文书
技校毕业生自荐书
2014/05/23 职场文书
金融专业毕业生自荐信
2014/06/26 职场文书
公务员学习中国梦心得体会
2016/01/05 职场文书
职工的安全责任书范文!
2019/07/02 职场文书