<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免费不卡国产观看| 国产免费阿v精品视频网址| 最近免费中文字幕4| 亚洲国产综合第一精品小说| 18禁美女黄网站色大片免费观看 | 一级毛片免费播放| 亚洲国产精品无码av| 无码中文字幕av免费放dvd| 亚洲天天做日日做天天看| h视频在线免费看| 国产精品亚洲四区在线观看| 嫩草影院免费观看| 免费人成大片在线观看播放电影| 亚洲精品无码你懂的网站| 成年女人A毛片免费视频| 97se亚洲综合在线| 毛片a级毛片免费播放100| 羞羞视频网站免费入口| 国产亚洲大尺度无码无码专线| 成人久久免费网站| 亚洲免费观看在线视频| 国产男女猛烈无遮挡免费视频| 久久精品无码免费不卡| 亚洲色图黄色小说| 日韩视频免费在线| a级男女仿爱免费视频| 亚洲男人的天堂久久精品| 伊人久久亚洲综合影院| 日本高清免费观看| 亚洲精品中文字幕无码A片老| 免费大黄网站在线看| 久久青草免费91线频观看站街| 精品久久久久久亚洲精品| 亚洲中文字幕无码专区| 最近免费中文在线视频| 香蕉视频在线观看免费| 666精品国产精品亚洲| 免费一级毛片不卡在线播放| 91高清免费国产自产拍2021| 在线观看亚洲精品专区| 久久久久亚洲精品无码系列|