gpt4 book ai didi

node.js - 附加到 winston 记录的最后一行

转载 作者:太空宇宙 更新时间:2023-11-03 23:36:25 25 4
gpt4 key购买 nike

我正在尝试生成类似这样的控制台日志:

2015-08-03T08:17:13.730Z - info:  Doing task A... ✓
2015-08-03T08:19:13.730Z - info: Doing task B...

一旦任务完成,行尾就会出现一个勾号。

我的代码(大部分)是同步的,所以理论上这样的代码应该可以工作:

log.info('Doing task A');
taskA();
log.appendLastLine('✓');

有没有办法使用 winston 来做到这一点?或者任何其他 NodeJS 记录器?有一些事情是异步的,但如果发生这种情况,我可以处理偶尔困惑的日志行。

最佳答案

您可以使用基本的 stdout 对象并手动控制换行符:

process.stdout.write('Doing task A');
taskA();
process.stdout.write('✓ \n');

此外,您可以在同一行中事件覆盖消息,通过在末尾添加“\r”来在一行上创建倒计时。

process.stdout.write('Task A status: ' + mystatus + ' % \r');

一些日志库也支持这种模式,但这基本上是标准输出的包装器,但您也可以使用其他功能,例如轻松测量 taskA() 执行时间:

var logger = require('devmetrics-core')();
logger.info('Measure function execution time');
taskA = logger.measureTimeWrap(taskA, 'taskA');

关于node.js - 附加到 winston 记录的最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31782643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com