ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Nest 在日志中打印对象

2021-04-29 14:01:52  阅读:192  来源: 互联网

标签:inspect console log Nest 打印 var 20 日志


Nest 自带的日志方法 Logger.log 签名如下:

static log(message: any, context?: string, isTimeDiffEnabled?: boolean): void;

只能通过指定期中的 message 打印文本。

所以它不能像原生的 console.log 那样直接打印对象,比如:

console.log('var:',someVariable);

但你可能会说,使用模板字符串就可以解决,像这样:

Logger.log(`var: ${someVariable}`);

实际上得到的输出:

[1] [Nest] 24911   - 09/16/2020, 2:20:20 PM   var: [object Object] +0ms

所以为了正常打印对象,还需要借助 node 自带的 util.inspect 将对象拍平:

import { inspect } from 'util';

Logger.log(`var: ${inspect(someVariable)}`);
// 作为对照:
console.log('var:', someVariable);

测试其输出:

[1] [Nest] 24911   - 09/16/2020, 2:20:20 PM   var: { blah: 1, foo: { bar: 'xxx' } } +2282ms
[1] var: { blah: 1, foo: { bar: 'xxx' } }

输出结果能够正常阅读了。

借助于 inspect,可以统一收敛日志的打印,而不用在单独需要打印对象的场景切换到 console.log,对于后面对日志作统一管理,打标签收集都有好处。

相关资源

The text was updated successfully, but these errors were encountered:

标签:inspect,console,log,Nest,打印,var,20,日志
来源: https://www.cnblogs.com/Wayou/p/14717693.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有