如何使用 Bunyan 将日志保存到特定文件中?

How can Bunyan be used to save logs into a specific file?

我的 NodeJS 应用程序有问题,我想正确记录使用它时发生的所有事情。

我遇到了 Bunyan,它看起来很棒。除了与所有其他 "loggers" 一样,它只是打印到 stdout,这让我很难正确分析正在发生的事情。

有什么方法可以让 Bunyan 始终输出到某个文件 logs.json 例如?

即使您的应用没有错误,您也应该登录。不管怎样,你真的读过文件吗?您使用流:

var bunyanOpts = {
    name: 'myapp',
    streams: [
    {
        level: 'debug',
        stream: process.stdout       // log INFO and above to stdout
    },
    {
        level: 'info',
        path: '/var/tmp/logs.json'  // log ERROR and above to a file
    }
  ]
};

var logger = Bunyan.createLogger(bunyanOpts);

现在查看日志:

$ tail -f /var/tmp/logs.json | bunyan -o short