有没有办法像我们在 bunyan CLI 中那样显示 winston 日志文件?

Is there a way to show winston log files like we show it in bunyan CLI?

Bunyan记录器中我们可以看到这样的日志文件: tail -f sample.log | bunyan 并以彩色显示日志并漂亮地显示 json 对象,但我在 Winston 记录器中找不到类似该解决方案的想法,有人对此有想法吗?

我写了一个基于 Bunyan CLI 的小 npm 包来漂亮地打印 winston 日志,你可以这样使用它:

  • npm i -g winston-log-viewer
  • tail -f logFile.log | winston-log-viewer

  • tail -f logFile.log | npx winston-log-viewer

https://github.com/mohammadranjbarz/winston-log-viewer

类似于 winston-log-viewer 我创建了 munia-pretty-json 并将其用于许多项目。您可以在控制台可视化任何 json 日志。

npm install -g munia-pretty-json

您的 json 数据 (app-log.json)

{"time":"2021-06-09T02:50:22Z","level":"info","message":"Log for pretty JSON","module":"init","hostip":"192.168.0.138","pid":123}
{"time":"2021-06-09T03:27:43Z","level":"warn","message":"Here is warning message","module":"send-message","hostip":"192.168.0.138","pid":123}

运行命令:

munia-pretty-json app-log.json

或跟踪 json 文件:

tail -f app-log.json | munia-pertty-json

这是控制台上可读的输出:

您可以使用模板格式化输出。默认模板是 '{time} {level -c} {message}'

使用模板:

munia-pretty-json -t '{module -c} - {level} - {message}' app-log.json

输出: