在现今的前端开发中,调试是非常重要的一环。在进行调试的过程中,出错的位置和原因都是需要被记录和分析的。而winston-gulplog npm包,就是一个非常好的记录日志的工具。它可以记录各种控制台的日志信息,例如:错误日志,警告日志,一般日志等等。本篇文章将介绍winston-gulplog的使用方式。
安装与引入
安装winston-gulplog可以使用npm命令:
npm install winston-gulplog --save-dev
引入模块:
var gulplog = require('winston-gulplog');
核心概念
了解这个包的核心概念很重要,它有以下两个主要的概念:Logger,Transport。
- Logger: winston日志记录器,负责管理日志记录器的实例,提供日志记录等操作接口。
- Transport: 日志输出端口,winston可以为每个日志记录器添加多个输出端口,每个输出端口可以独立输出日志,常见的输出端包括console,file等。
创建日志记录器
创建一个记录器非常简单,只需要通过winston.createLogger即可:
var winston = require('winston'); var logger = winston.createLogger();
添加输出端口
通过调用add方法,可以为日志记录器添加输出端口:
logger.add(new winston.transports.Console({ format: winston.format.simple() }));
这段代码向日志记录器添加了一个输出端口- 控制台。
记录日志
winston提供了五个级别的日志记录:info,debug,error,warning,verbose,它们的调用方式非常简单。
比如:
logger.info('Hello world');
这段代码就可以将Hello world打印出来。
实现日志记录器
下面我们通过实现一个日志记录器来熟悉一下winston-gulplog:
1.首先,安装必要的模块:
npm install winston npm install winston-daily-rotate-file npm install mkdirp
2.创建文件目录:
-- -------------------- ---- ------- --- ------ - ------------------ --- ------ - ------------------ --- ------- - --------- --------------- ------------- - -- ----- - ------ ------------ - ---
3.创建记录器并设置Transport:
-- -------------------- ---- ------- --- --------- - --- ---------------------------------------- --------- ------------------------- ------------ ------------- --------- ----- --- --- ------ - --- ------------------ ----------- - --------- - ---
这段代码创建了一个rotating-file的Transport,其会将日志输出到logs目录下,每天创建一个新的日志文件,最多保存14天。
4.添加日志格式化/filter:
-- -------------------- ---- ------- ------------------------- ------- ---- ----- - ------ ---------- - - - --- - ----- --- ------------- - ----------------------- --------------------------- ------------------------------ ------ - ------ ------------------------------ --------------- ----------------------------- ---------------- -- --
5.测试:
logger.info('winston-gulplog Test: Hello, world!');
终端会输出:
2019-08-27 14:07:29.329 [INFO] winston-gulplog Test: Hello, world!
Example
-- -------------------- ---- ------- --- ------- - ------------------- --- ------ - ------------------ --- ------ - ------------------ --- --------------- - ------------------------------------- -- --- ---- --------- --- ------- - --------- --------------- ------------- - -- ----- - -------------------- --- --------- -------- ----- ------- - -- ------ --------- -- --------- ---- -- ---- --- --------- - --- ----------------- --------- ---------------------------- ------------ ------------- -------- ------ --------- ----- --- --- ------ - ---------------------- ------- ----------------------- --------------------------- --------------------- -- ----------- ----------- --- ---------------- ----- -------- ---- -- ------- ----------------- ------ ---- ------ ------ ---
代码执行后会创建一个logs目录,里面每天都有一个以"app-xxxx-xx-xx"格式命名的文件,文件大小最大为20m,最多保留14天的日志记录。
总结
本文简单介绍了winston-gulplog的安装,使用以及核心概念,并通过例子为大家讲解了如何快速实现一个日志记录器。希望通过本文的介绍,能够对大家在前端开发中利用winston-gulplog进行日志记录有所启发。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600671108dd3466f61ffe36a