简介
loog 是一个简单易用的 Node.js 日志工具,它提供了多种日志级别和输出格式,可以帮助开发者快速地调试和跟踪应用程序的执行过程。使用 loog,可以避免手动编写大量的 console.log 语句,提高开发效率。
安装
loog 可以通过 npm 安装:
npm install loog --save
安装完成后,就可以在项目中引入 loog:
const loog = require('loog');
使用
基本使用
使用 loog 的基本步骤如下:
创建一个 loog 实例:
const logger = loog();
使用 logger 对象输出日志:
logger.debug('debug message'); logger.info('info message'); logger.warn('warning message'); logger.error('error message');
配置
loog 提供了多种日志级别和输出格式,可以通过配置来定制日志行为。以下是 loog 的默认配置:
-- -------------------- ---- ------- - ------ ------- ------- --------------- ------- ---------- ----------- ------ - ------ ------- ----- -------- ----- --------- ------ ------ -- -
可以通过传入一个配置对象来修改 loog 的配置。例如,要将日志级别设置为 debug,并将输出流切换到文件:
const fs = require('fs'); const logger = loog({ level: 'debug', stream: fs.createWriteStream('log.txt'), });
自定义格式
loog 使用模板字符串作为日志格式,模板字符串中可以包含以下占位符:
- {date}: 当前时间
- {level}: 日志级别
- {message}: 日志消息
- {label}: 日志标签
- {meta}: 其他参数
例如,要输出带标签的日志,可以使用以下格式:
const logger = loog({ format: '[{level}] {label} {message}', }); logger.info('http', 'GET /', 'status=200');
输出结果为:
[info] http GET / status=200
自定义级别
loog 默认提供了 debug、info、warn、error 四个日志级别。如果需要自定义级别,可以通过 addLevel 方法实现。例如,要添加一个 trace 级别:
const logger = loog(); logger.addLevel('trace', 10); logger.trace('trace message');
注意,自定义级别需要指定一个数字表示其优先级,数字越小优先级越高。
自定义颜色
loog 支持多种颜色,可以通过配置 color 属性来修改颜色。颜色配置可以是一个字符串表示颜色,也可以是一个返回字符串的函数。
例如,修改 debug 级别的颜色为白色:
const logger = loog({ color: { debug: 'white', }, });
或者将每个级别的颜色都改为随机颜色:
const logger = loog({ color: { debug: () => '#' + Math.floor(Math.random() * 16777215).toString(16), info: () => '#' + Math.floor(Math.random() * 16777215).toString(16), warn: () => '#' + Math.floor(Math.random() * 16777215).toString(16), error: () => '#' + Math.floor(Math.random() * 16777215).toString(16), }, });
示例代码
以下是使用 loog 记录 HTTP 请求日志的示例代码:
-- -------------------- ---- ------- ----- ---- - ---------------- ----- ---- - ---------------- ----- ------ - ------ ------- ---------- ------- -------- ----- - -------- ---------- --- ----- ------ - ----------------------- ---- -- - ----- ----- - ----------------- ----- --- - --------------- ------ ------ --- -------------------- --------- ---------------- -- -- - ----- --------- ------------ - ---------------------- ----- ---- - -------- - ---- - ----------- - ---------------- ---------- ------- --------------- ---- --- --- --- ------------------- -- -- - ------------------- ------- -- ------------------------ ---
这段代码创建了一个 HTTP 服务器,每当接收到一个 HTTP 请求时,就使用 loog 记录请求相关的日志。日志格式包括请求方法、URL、响应状态码和耗时等信息。使用 log.create 方法创建一个标记为 'http' 的日志对象,用于区分不同类型的日志。输出结果如下:
[info] http GET / - 200 0.29ms
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005709f81e8991b448e7f2f