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

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

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

前言

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

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

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

二.引用日志模塊

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

koa-log4在log4js-node的基礎(chǔ)上做了一次包裝,是koa的一個處理日志的中間件,此模塊可以幫助你按照你配置的規(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')); //記錄所有訪問級別的日志
exports.logger = log4js.getLogger('application'); //記錄所有應(yīng)用級別的日志

四.日志的使用方法

1.訪問日志

對于日志的使用,訪問級別的,記錄用戶的所有請求,作為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)用級別的日志,可記錄全局狀態(tài)下的error,也可記錄接口請求當中的錯誤處理。

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

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

接口請求錯誤

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

五.自動生成日志

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

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

日志文件當中都有詳細的記錄

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

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

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

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

    node.js中的fs.write方法使用說明

    這篇文章主要介紹了node.js中的fs.write方法使用說明,本文介紹了fs.write的方法說明、語法、接收參數(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ā)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Node.js中path模塊操作路徑的基本使用

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

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

    Nodejs的express使用教程

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

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

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

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

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

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

    有段時間沒用npm了,新建個項目,需要改變npm全局包默認安裝的路徑,本文就來介紹一下node自定義安裝更改npm全局模塊默認安裝路徑的步驟,感興趣的可以了解下
    2021-09-09

最新評論

南靖县| 宜兰市| 巴塘县| 钟祥市| 于田县| 呼图壁县| 建瓯市| 天镇县| 刚察县| 华亭县| 威信县| 百色市| 清远市| 长岛县| 博野县| 皋兰县| 双流县| 烟台市| 荥经县| 佛山市| 九寨沟县| 杭州市| 赣榆县| 卢湾区| 塔城市| 临桂县| 九江县| 会泽县| 太谷县| 永胜县| 青阳县| 马公市| 理塘县| 乌拉特前旗| 宝兴县| 闽清县| 同心县| 宁安市| 彝良县| 行唐县| 宁化县|