使用nodeJs koa2框架開發(fā)后端應(yīng)用,使用koa-log4中間件管理nodeJs訪問日志、系統(tǒng)日志。一、安裝koa-log4
因?yàn)轫?xiàng)目使用了koa2,所以安裝的高版本的log4,
$ npm i --save koa-log4@2
如果使用koa1,請(qǐng)使用指令
$ npm i --save koa-log4@1
koa-log4 Npm主頁
二、新建log4.js文件來配置log4const path = require("path");//引入原生path模塊 const log4js = require("koa-log4");//引入koa-log4 log4js.configure({ appenders: { //訪問日志 access: { type: "dateFile", pattern: "-yyyy-MM-dd.log", //通過日期來生成文件 alwaysIncludePattern: true, //文件名始終以日期區(qū)分 encoding:"utf-8", filename: path.join("logs/", "access.log") //生成文件路徑和文件名 }, //系統(tǒng)日志 application: { type: "dateFile", pattern: "-yyyy-MM-dd.log", //通過日期來生成文件 alwaysIncludePattern: true, //文件名始終以日期區(qū)分 encoding:"utf-8", filename: path.join("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")); //記錄所有訪問級(jí)別的日志 exports. systemLogger = log4js.getLogger("application"); //記錄所有應(yīng)用級(jí)別的日志三、如何使用日志
訪問日志--記錄用戶所有訪問請(qǐng)求,以中間件的形式在koa入口使用即可
const Koa = require("koa"); const app = new Koa(); const { accessLogger,systemLogger, } = require("./logger"); const router = new KoaRouter(); app.use(accessLogger()); //中間件
系統(tǒng)日志--記錄系統(tǒng)狀態(tài)的error
app.on("error", err => {logger.error(err); });四、效果
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/100614.html
摘要:一是什么是可以用于生產(chǎn)環(huán)境的的進(jìn)程管理工具,并且它內(nèi)置一個(gè)負(fù)載均衡。嗯嗯,最好的用處就是監(jiān)控我們的生產(chǎn)環(huán)境下的程序運(yùn)行狀態(tài),讓它給我們?nèi)找岳^日的處于工作狀態(tài)。部署自動(dòng)部署,避免逐個(gè)在所有服務(wù)器中進(jìn)行。 一、PM2是什么 是可以用于生產(chǎn)環(huán)境的Nodejs的進(jìn)程管理工具,并且它內(nèi)置一個(gè)負(fù)載均衡。它不僅可以保證服務(wù)不會(huì)中斷一直在線,并且提供0秒reload功能,還有其他一系列進(jìn)程管理、監(jiān)控...
摘要:參與者流量來自于內(nèi)部系統(tǒng)和外部流量,其中大部分來自于外部流量。水平擴(kuò)容服務(wù)的水平擴(kuò)容重要性不言而喻。 背景 目前微店中臺(tái)團(tuán)隊(duì)為了滿足公司大部分產(chǎn)品、運(yùn)營以及部分后端開發(fā)人員的嘗鮮和試錯(cuò)的需求,提供了一套基于圖形化搭建的服務(wù)端接口交付方案,利用該方案及提供的系統(tǒng)可生成一副包含運(yùn)行時(shí)環(huán)境定義可立即運(yùn)行的工程代碼,最后,通過 某種serverless平臺(tái) 實(shí)現(xiàn)生成后代碼的部署、CI、運(yùn)行、反...
摘要:日志規(guī)范一般前端開發(fā)同學(xué),對(duì)日志其實(shí)不太敏感,畢竟前端大多數(shù)情況下,不太關(guān)心日志。本文主要梳理了目前我們團(tuán)隊(duì)在開發(fā)中日志方面存在的問題,以及通過統(tǒng)一日志規(guī)范,希望達(dá)到什么樣的效果。日志格式字段日志格式統(tǒng)一采用,便于解析處理。nodejs 日志規(guī)范 一般前端開發(fā)同學(xué),對(duì)日志其實(shí)不太敏感,畢竟前端大多數(shù)情況下,不太關(guān)心日志。即使有,也可能調(diào)用一些第三方的統(tǒng)計(jì),比如百度統(tǒng)計(jì)或者別的等。在 Node...
閱讀 2148·2021-10-14 09:43
閱讀 2206·2019-08-30 15:55
閱讀 738·2019-08-30 14:23
閱讀 2030·2019-08-30 13:21
閱讀 1246·2019-08-30 12:50
閱讀 2210·2019-08-29 18:46
閱讀 2292·2019-08-29 17:28
閱讀 2377·2019-08-29 17:21