最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用koa-log4管理nodeJs日志筆記的使用方法

 更新時(shí)間:2018年11月30日 09:18:23   作者:emcty  
這篇文章主要介紹了使用koa-log4管理nodeJs日志筆記的使用方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧

前言

對(duì)于后端程序應(yīng)用來(lái)說(shuō),日志是必不可少的,在nodeJs當(dāng)中并沒有自帶的日志模塊。最近正好使用koa框架來(lái)做后端服務(wù),需要對(duì)日志進(jìn)行分割處理,特記錄下分享給大家。

一.后端代碼目錄結(jié)構(gòu)

├── back-end
│ ├── logs 所有產(chǎn)生的日志文件存放在此目錄下
│ ├── db.js 使用Sequelize連接數(shù)據(jù)庫(kù)
│ ├── logger.js 日志的配置
│ ├── server.js 后端提供的所有接口

二.引用日志模塊

log4js-node是一款比較好的在node環(huán)境下對(duì)于日志處理的模塊,由于我的整個(gè)項(xiàng)目是基于koa框架,所以我選擇了koa-log4模塊。

koa-log4在log4js-node的基礎(chǔ)上做了一次包裝,是koa的一個(gè)處理日志的中間件,此模塊可以幫助你按照你配置的規(guī)則分叉日志消息。

三.日志配置logger.js

koa-log4的配置與log4js-node是一樣的。

const path = require('path');
const log4js = require('koa-log4');

log4js.configure({
 appenders: {
  access: {
   type: 'dateFile',
   pattern: '-yyyy-MM-dd.log', //生成文件的規(guī)則
   filename: path.join('back-end/logs/', 'access.log') //生成文件名
  },
  application: {
   type: 'dateFile',
   pattern: '-yyyy-MM-dd.log',
   filename: path.join('back-end/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.logger = log4js.getLogger('application'); //記錄所有應(yīng)用級(jí)別的日志

四.日志的使用方法

1.訪問日志

對(duì)于日志的使用,訪問級(jí)別的,記錄用戶的所有請(qǐng)求,作為koa的中間件,直接使用便可,如下:

const Koa = require('koa');
const KoaRouter = require('koa-router');
const app = new Koa();
const router = new KoaRouter();
const { logger, accessLogger } = require('./logger');
const router = new KoaRouter();

app.use(accessLogger());

2.應(yīng)用日志

應(yīng)用級(jí)別的日志,可記錄全局狀態(tài)下的error,也可記錄接口請(qǐng)求當(dāng)中的錯(cuò)誤處理。

捕獲全局狀態(tài)下的error

app.on('error', err => {
 logger.error(err);
});

接口請(qǐng)求錯(cuò)誤

router.post('/test',async (ctx, next)=>{
 //處理代碼
 }catch(e){
  logger.error(e);
  ctx.body = {status:-1, message:e.message};
 }
});

五.自動(dòng)生成日志

開啟node應(yīng)用對(duì)于每一次的請(qǐng)求,都將按日期來(lái)生成日志文件,以下是我這幾天自動(dòng)生成的日志文件

六.日志內(nèi)容分析

日志文件當(dāng)中都有詳細(xì)的記錄

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Node.JS中的模塊、exports和module講解

    Node.JS中的模塊、exports和module講解

    這篇文章主要介紹了Node.JS中的模塊、exports和module講解,模塊分為兩類一類是核心模塊一類是文件模塊,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • node.js中的fs.write方法使用說(shuō)明

    node.js中的fs.write方法使用說(shuō)明

    這篇文章主要介紹了node.js中的fs.write方法使用說(shuō)明,本文介紹了fs.write的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • Nodejs異步回調(diào)的優(yōu)雅處理方法

    Nodejs異步回調(diào)的優(yōu)雅處理方法

    這篇文章主要介紹了Nodejs異步回調(diào)的優(yōu)雅處理方法,本文使用了ES6中的新特性,用一種十分優(yōu)雅的方式解決了回調(diào)問題,需要的朋友可以參考下
    2014-09-09
  • Node.js中下包速度慢問題解決方法分析

    Node.js中下包速度慢問題解決方法分析

    這篇文章主要介紹了Node.js中下包速度慢問題解決方法,分析了npm切換鏡像源以及nrm工具鏡像源管理相關(guān)使用技巧,需要的朋友可以參考下
    2023-04-04
  • nodejs如何解決高并發(fā)問題

    nodejs如何解決高并發(fā)問題

    這篇文章主要介紹了nodejs如何解決高并發(fā)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Node.js中path模塊操作路徑的基本使用

    Node.js中path模塊操作路徑的基本使用

    這篇文章主要介紹了Node.js中path模塊操作路徑的基本使用,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • Nodejs的express使用教程

    Nodejs的express使用教程

    Express 是一個(gè)簡(jiǎn)潔、靈活的 node.js Web 應(yīng)用開發(fā)框架, 它提供一系列強(qiáng)大的特性,幫助你創(chuàng)建各種 Web 和移動(dòng)設(shè)備應(yīng)用,本篇文章給大家介紹nodejs的express使用教程,感興趣的朋友參考下
    2015-11-11
  • 了不起的node.js讀書筆記之例程分析

    了不起的node.js讀書筆記之例程分析

    這篇文章主要介紹了了不起的node.js讀書筆記之例程分析,需要的朋友可以參考下
    2014-12-12
  • node.js使用fs讀取文件出錯(cuò)的解決方案

    node.js使用fs讀取文件出錯(cuò)的解決方案

    在本篇文章里我們給大家?guī)?lái)一篇關(guān)于node.js使用fs讀取文件出錯(cuò)的解決辦法,有需要的朋友們參考下。
    2019-10-10
  • node自定義安裝更改npm全局模塊默認(rèn)安裝路徑的步驟

    node自定義安裝更改npm全局模塊默認(rèn)安裝路徑的步驟

    有段時(shí)間沒用npm了,新建個(gè)項(xiàng)目,需要改變npm全局包默認(rèn)安裝的路徑,本文就來(lái)介紹一下node自定義安裝更改npm全局模塊默認(rèn)安裝路徑的步驟,感興趣的可以了解下
    2021-09-09

最新評(píng)論

锡林浩特市| 汉川市| 蓬莱市| 榕江县| 道孚县| 柳江县| 嵊州市| 福海县| 东乡县| 石家庄市| 牙克石市| 万年县| 成安县| 贵溪市| 兰西县| 吉隆县| 佛教| 婺源县| 赫章县| 泸水县| 封丘县| 青田县| 南投县| 花莲市| 竹溪县| 广宁县| 红原县| 庆安县| 潜山县| 长丰县| 临泉县| 罗定市| 云阳县| 隆回县| 洪泽县| 嘉荫县| 开封市| 武平县| 司法| 米林县| 华池县|