在前端开发中,我们常常需要在控制台输出日志,以便调试代码、查看运行状态等。而 npm 包 log-format 提供了一种简便、灵活的方式来格式化输出日志。本文将介绍 log-format 的使用教程,涵盖如下内容:
- log-format 是什么?
- 如何安装 log-format?
- log-format 的基本用法
- log-format 更高级的用法
- 实际应用示例
1. log-format 是什么?
log-format 是一个 npm 包,用于格式化控制台日志输出。它提供了许多预设的输出格式,并支持自定义格式,并且还支持添加时间戳、添加前缀等高级功能。
2. 如何安装 log-format?
使用 log-format 需要先安装它,可以使用 npm 安装:
npm install log-format --save-dev
安装完成后,就可以在代码中使用它了。
3. log-format 的基本用法
log-format 的基本用法非常简单,只需要在代码中引入它,然后使用它提供的函数就可以了。以下是基本用法示例:
const log = require('log-format'); // 输出文本 log('hello world!'); // 输出 JSON 格式数据 const data = {name: 'Jack', age: 20}; log(data);
log-format 提供了多种输出格式,可以使用以下方法来选择输出格式:
const log = require('log-format').setFormat(format);
其中,format 可以是 log-format 提供的预设格式,也可以是自定义的格式。预设格式包括:
- 'line':每行输出一条
- 'border':在输出之前和之后输出一条分割线
- 'title':在输出之前输出一个标题
- 'json':以 JSON 格式输出数据
- 'table':以表格格式输出数据
- 'raw':以原始格式输出
以下是使用预设格式输出的示例:
const log = require('log-format').setFormat('line'); log('hello'); log('world');
输出:
hello world
const log = require('log-format').setFormat('border'); log('hello'); log('world');
输出:
============================= hello world =============================
const log = require('log-format').setFormat('json'); const data = {name: 'Jack', age: 20}; log(data);
输出:
{ "name": "Jack", "age": 20 }
自定义格式的示例:
const log = require('log-format').setFormat('[{time}] {text}'); log('hello');
输出:
[2022-01-01 00:00:00] hello
4. log-format 更高级的用法
除了基本用法之外,log-format 还支持更高级的用法,如添加时间戳、添加前缀等。
添加时间戳
使用以下方式来添加当前时间戳:
const log = require('log-format').setFormat('[{time}] {text}').withTimestamp(); log('hello');
输出:
[2022-01-01 00:00:00] hello
添加前缀
使用以下方式来添加固定前缀:
const log = require('log-format').setFormat('[{prefix}] {text}').withPrefix('DEBUG'); log('hello');
输出:
[DEBUG] hello
自定义属性
使用以下方式来添加自定义属性:
const log = require('log-format').setFormat('[{time}] "{levelname}": {text}').withProperties({ levelname: 'INFO' }); log('hello');
输出:
[2022-01-01 00:00:00] "INFO": hello
5. 实际应用示例
下面是一个实际应用 log-format 的示例代码,在服务器启动时输出启动信息,以及当收到请求时输出请求信息:
-- -------------------- ---- ------- ----- ---- - ---------------- ----- --- - ----------------------------------------- --------- -------- ---------------- ---------------------- ----- ------ - ----------------------- ---- -- - --------------------------- ----------- ---- ------------------------ ---------- ----------- -------------- -------- --- ------------------- -- -- - ----------- ---------- ---
输出:
[2022-01-01 00:00:00] SERVER: server started [2022-01-01 00:00:01] SERVER: GET / received [2022-01-01 00:00:02] SERVER: GET / received ...
这样就可以方便地在控制台输出日志信息,方便调试和查看运行状态了。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/79572