当前位置: 首页 > 后端技术 > Node.js

使用koa-log4管理nodeJs日志注释

时间:2023-04-03 15:10:47 Node.js

前言对于后端程序应用来说,日志是必不可少的,nodeJs没有内置日志模块。最近恰好用到了koa框架做后端服务。我需要拆分日志,所以记录下来分享给大家。1.后端代码目录结构├──back-end│├──logs所有生成的日志文件都存放在这个目录下│├──db.js使用Sequelize连接数据库│├──logger.jslog配置│├──server.js后端提供的所有接口2.参考日志模块log4js-node是一个比较好的在node环境下进行日志处理的模块。由于我整个项目都是基于koa框架,所以我选择了koa-log4模块。koa-log4是基于log4js-node的一个包,是koa处理日志的中间件。该模块可以帮助您根据您配置的规则分叉日志消息。3、日志配置logger.jskoa-log4的配置和log4js-node一样。constpath=require('path');constlog4js=require('koa-log4');log4js.configure({附加程序:{访问:{类型:'dateFile',模式:'-yyyy-MM-dd.log',//生成文件的规则filename:path.join('back-end/logs/','access.log')//生成文件名},application:{type:'dateFile',pattern:'-yyyy-MM-dd.log',文件名:path.join('back-end/logs/','application.log')},out:{type:'console'}},categories:{default:{appenders:['out'],level:'info'},访问:{appenders:['access'],level:'info'},application:{appenders:['application'],level:'WARN'}}});exports.accessLogger=()=>log4js.koaLogger(log4js.getLogger('access'));//记录所有访问级别的日志exports.logger=log4js.getLogger('application');//记录所有应用的日志级别四、日志的使用方法1.访问日志用于日志的使用,访问级别,记录用户的所有请求,作为koa的中间件,可以直接使用,如下:constKoa=require('koa');constKoaRouter=require('koa-router');constapp=newKoa();constrouter=newKoaRouter();const{logger,accessLogger}=require('./logger');constrouter=newKoaRouter();app.use(accessLogger());2.应用日志应用层的日志可以记录全局状态的错误,也可以记录接口请求中的错误处理,捕获错误app.on('error',err=>{logger.error(错误);})在全球状态;接口请求错误router.post('/test',async(ctx,next)=>{//处理代码}catch(e){logger.error(e);ctx.body={status:-1,message:e.message};}});5.自动生成日志节点应用程序将根据每个请求的日期生成日志文件。以下是我这几天自动生成的日志文件。6、日志内容分析日志文件中有详细的记录。并跟随!