ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

node搭配koa-log4进行日志添加和管理使用

2022-01-28 11:35:55  阅读:177  来源: 互联网

标签:node log4 console log koa logger 日志


1.原因

  • 使用koa-log4因为本人使用koa来进行开发node项目做后端,所以就也用koa-log4来进行日志的管理。
  • 所有console.log都输出到控制台找关键模块的日志输出找起来比较麻烦。
  • 控制台关闭了或者清空了想找回之前的日志来定位项目的一些调试或问题就会非常麻烦。
  • koa-log4存储日志到指定位置保留日志文件,方便查找定位问题。

2.安装

npm install koa-log4

3.使用

const log4js = require("koa-log4");
log4js.configure({
    appenders:{
        console:{
            type:"console",
            category:"console"
        },
        // 服务器接口
        httplog:{
            type:"dateFile",//按日期分割
            filename:"../log/http/all.log",//存储的日志文件位置
            pattern:"yyyy-MM-dd.log",//日志文件的命名
            backups:300,//最多保存的文件数量
            layout:{
                type:"pattern",
                pattern:"%d{yyyy-MM-dd hh:mm:ss} [%p] %m"//输出的内容样式
            }
        },
        // 订单日志分割
        order:{
            type:"dateFile",//按日期分割
            filename:"../log/order/all.log",//存储的日志文件位置
            pattern:"yyyy-MM-dd-hh.log",//日志文件的命名
            backups:300,//最多保存的文件数量
            layout:{
                type:"pattern",
                pattern:"%d{yyyy-MM-dd hh:mm:ss} [%p] %m"//输出的内容样式
            }
        }
    },
    categories:{
        default:{
            appenders:["console"],
            level:"all"//可输出等级
        },
        httplog:{
            appenders:["httplog"],//只保存到文件里,不输出到控制台
            level:"all"//可输出等级
        },
        order:{
            appenders:["order","console"],//保存到文件里,并输出到控制台
            level:"all"//可输出等级
        }
    }
})

//普通使用
const logger = log4js.getLogger("order");
logger.trace("测试trace");
logger.debug("测试debug");
logger.info("测试info");
logger.warn("测试warn");
logger.error("测试error");
logger.fatal("测试fatal");


//搭配koa进行记录http访问请求到日志中使用
const httpLogger = ()=> log4js.koaLogger(log4js.getLogger("httplog"));//使用httplog
const koa = require("koa");
const app = new koa();
// 请求日志
app.use(httpLogger())

标签:node,log4,console,log,koa,logger,日志
来源: https://blog.csdn.net/weixin_41891519/article/details/122725065

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有