使用koa-log4管理nodeJs日志笔记的使用方法
网络编程 2021-07-04 16:47www.168986.cn编程入门
这篇文章主要介绍了使用koa-log4管理nodeJs日志笔记的使用方法,长沙网络推广觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随长沙网络推广过来看看吧
前言
对于后端程序应用来说,日志是必不可少的,在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: { aess: { type: 'dateFile', pattern: '-yyyy-MM-dd.log', //生成文件的规则 filename: path.join('back-end/logs/', 'aess.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' }, aess: { appenders: [ 'aess' ], level: 'info' }, application: { appenders: [ 'application' ], level: 'WARN'} } }); exports.aessLogger = () => log4js.koaLogger(log4js.getLogger('aess')); //记录所有访问级别的日志 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, aessLogger } = require('./logger'); const router = new KoaRouter(); app.use(aessLogger());
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应用对于每一次的请求,都将按日期来生成日志文件,以下是我这几天自动生成的日志文件
六.日志内容分析
日志文件当中都有详细的记录
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持狼蚁SEO。
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指