<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答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
        主站蜘蛛池模板: 亚洲av鲁丝一区二区三区| 亚洲Aⅴ无码一区二区二三区软件| 亚洲熟妇av一区二区三区| aa午夜免费剧场| 国产亚洲色婷婷久久99精品91| 美女露隐私全部免费直播| 精品剧情v国产在免费线观看 | 亚洲国产精品狼友中文久久久| 亚洲欧美成aⅴ人在线观看| 岛国大片免费在线观看| 亚洲码欧美码一区二区三区| 国产公开免费人成视频| 免费看一级一级人妻片 | 女人18毛片水最多免费观看| 亚洲性色精品一区二区在线| 国产美女精品久久久久久久免费| 国产精品亚洲专区在线播放| 亚洲天堂在线视频| 一级做a爰全过程免费视频| 亚洲专区一路线二| 日韩精品视频免费在线观看| 一级毛片a免费播放王色电影| 亚洲av中文无码乱人伦在线咪咕| 最近免费视频中文字幕大全| 亚洲欧美综合精品成人导航| 免费一级毛片女人图片| 野花香高清视频在线观看免费 | 亚洲视频免费在线看| 成年人免费观看视频网站| 青青免费在线视频| 亚洲综合视频在线| 四虎影院免费视频| 一个人免费视频在线观看www| 亚洲性色高清完整版在线观看| 女人张腿给男人桶视频免费版 | 无码人妻一区二区三区免费视频 | 精品亚洲成a人片在线观看少妇| 日韩高清免费在线观看| 国产高清不卡免费视频| 国产精品无码亚洲精品2021 | 亚洲色婷婷一区二区三区|