做爰高潮a片〈毛片〉,尤物av天堂一区二区在线观看,一本久久A久久精品VR综合,添女人荫蒂全部过程av

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

如何在項目中使用log4.js的方法步驟

來源:懂視網 責編:小采 時間:2020-11-27 21:53:47
文檔

如何在項目中使用log4.js的方法步驟

如何在項目中使用log4.js的方法步驟:pm2中自帶的日志內容是不能滿足日常的需求的,因此需要在項目中加上日志管理,這里研究了下log4的使用方法,效果挺好的,想要查看的都可以找到,記錄下簡單的使用步驟 log4的配合 // config.js let path = require('path'); // 日志根目
推薦度:
導讀如何在項目中使用log4.js的方法步驟:pm2中自帶的日志內容是不能滿足日常的需求的,因此需要在項目中加上日志管理,這里研究了下log4的使用方法,效果挺好的,想要查看的都可以找到,記錄下簡單的使用步驟 log4的配合 // config.js let path = require('path'); // 日志根目

pm2中自帶的日志內容是不能滿足日常的需求的,因此需要在項目中加上日志管理,這里研究了下log4的使用方法,效果挺好的,想要查看的都可以找到,記錄下簡單的使用步驟

log4的配合

// config.js

let path = require('path');

// 日志根目錄
let baseLogPath = path.resolve(__dirname, '../../../logs');
// 請求日志目錄
let reqPath = '/request';
// 請求日志文件名
let reqFileName = 'request';
// 請求日志
輸出完整路徑 let reqLogPath = baseLogPath + reqPath + '/' + reqFileName; // 響應日志目錄 let resPath = '/response'; // 響應日志文件名 let resFileName = 'response'; // 響應日志輸出完整路徑 let resLogPath = baseLogPath + resPath + '/' + resFileName; // 錯誤日志目錄 let errPath = '/error'; // 錯誤日志文件名 let errFileName = 'error'; // 錯誤日志輸出完整路徑 let errLogPath = baseLogPath + errPath + '/' + errFileName; module.exports = { appenders: { // 所有的日志 'console': {type: 'console'}, // 請求日志 'reqLogger': { type: 'dateFile', // 日志類型 filename: reqLogPath, // 輸出文件名 pattern: '-yyyy-MM-dd-hh.log', // 后綴 alwaysIncludePattern: true, // 上面兩個參數是否合并 encoding: 'utf-8', // 編碼格式 maxLogSize: 1000, // 最大存儲內容 }, // 響應日志 'resLogger': { type: 'dateFile', filename: resLogPath, pattern: '-yyyy-MM-dd-hh.log', alwaysIncludePattern: true, encoding: 'utf-8', maxLogSize: 1000, }, // 錯誤日志 'errLogger': { type: 'dateFile', filename: errLogPath, pattern: '-yyyy-MM-dd-hh.log', alwaysIncludePattern: true, encoding: 'utf-8', maxLogSize: 1000, } }, // 分類以及日志等級 categories: { default: { appenders: ['console'], level: 'all' }, reqLogger: { appenders: ['reqLogger'], level: 'info' }, resLogger: { appenders: ['resLogger'], level: 'info' }, errLogger: { appenders: ['errLogger'], level: 'error' } }, }

log4的日志封裝

這里是把log4封裝成一個中間件,在app.js中直接調用就可以了

// 先安裝log4js

// log4.js

const log4Config = require('./config')
const log4js = require('log4js')

// 調用配置文件
log4js.configure(log4Config)


class CommonHandle {
 constructor(){}
 // 格式化請求日志
 static formatReqLog(ctx, time){
 let text = '------------request start------------'
 let method = ctx.method
 text += `request method: ${method} \n request url: ${ctx.originalUrl } \n`

 if(method = 'GET'){
 text += `request data: ${JSON.stringify(ctx.query)} \n`
 }else{
 text += `request data: ${JSON.stringify(ctx.body)} \n`
 }
 text += `ctx all: ${JSON.stringify(ctx)}`
 return text
 }
 // 格式化相應日志
 static formatResLog(ctx,time){
 let text = '------------response start------------'
 text += `response result: ${JSON.stringify(ctx.response.body)} \n`

 text += `response all: ${JSON.stringify(ctx)} \n`

 text += `response time: ${time} \n`
 return text
 }
 // 格式化錯誤日志
 static formatErrorLog(ctx,error,time){
 let text = '------------error start------------'
 text += this.formatResLog(ctx,time)
 text += `error content: ${JSON.stringify(error)}`

 return text
 }
}

class HandleLogger extends CommonHandle{
 constructor(){
 super()
 }

 // 請求日志
 static reqLogger(ctx){
 log4js.getLogger('reqLogger').info(this.formatReqLog(ctx))
 }

 // 相應日志
 static resLogger(ctx, time){
 log4js.getLogger('resLogger').info(this.formatResLog(ctx,time))
 }

 // 錯誤日志
 static errorLogger(ctx, error, time){
 log4js.getLogger('errLogger').info(this.formatErrorLog(ctx,error,time))
 }

}





module.exports = (options) => {
 return async (ctx,next) => {
 const startTime = new Date()
 let period;
 try{
 // 請求日志
 HandleLogger.reqLogger(ctx)
 await next()
 period = new Date() - startTime
 // 響應日志
 HandleLogger.resLogger(ctx,period)
 }catch(err){
 period = new Date() - startTime
 // 錯誤日志
 HandleLogger.errorLogger(ctx, err, period)
 }
 }
}

調用封裝好的日志函數

這里直接以中間件的形式調用就可以了

// app.js

const Koa = require('koa')
const app = new Koa()
const LogJS = require('./common/log/log4')

// log4.js引入
app.use(LogJS())

最后部署上線之后就能直接在根目錄下的logs文件夾下查看對應的日志內容。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

如何在項目中使用log4.js的方法步驟

如何在項目中使用log4.js的方法步驟:pm2中自帶的日志內容是不能滿足日常的需求的,因此需要在項目中加上日志管理,這里研究了下log4的使用方法,效果挺好的,想要查看的都可以找到,記錄下簡單的使用步驟 log4的配合 // config.js let path = require('path'); // 日志根目
推薦度:
標簽: 使用 過程 js
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 锦州市| 华安县| 报价| 尼勒克县| 苏尼特右旗| 卢湾区| 禄劝| 清远市| 旌德县| 安丘市| 平安县| 蚌埠市| 常德市| 卓尼县| 额尔古纳市| 昌江| 泰来县| 成都市| 尉犁县| 乐安县| 江门市| 陇川县| 临洮县| 太谷县| 三门县| 临武县| 周口市| 大新县| 九龙坡区| 卢龙县| 宝清县| 元江| 平塘县| 昆明市| 固始县| 高邮市| 巴彦县| 通榆县| 定襄县| 安平县| 天津市|