更改在GCE上运行的node.js的日志目标位置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了更改在GCE上运行的node.js的日志目标位置相关的知识,希望对你有一定的参考价值。

我使用rc.local从以下位置开始启动节点脚本:

node .> "/log_file_$(date +"%H:%M:%S_%m_%d_%Y").txt"

它工作正常-但是现在日志的大小增加了-我需要每12/24小时在服务器上创建一个新日志;无需重新启动服务器。

是否有任何简单的方法来更改节点应用程序的输出目标?

我不希望为此使用任何库,因为我需要记录所有消息,包括错误,警告,而不仅仅是console.log。

感谢您的帮助。

答案

有很多选择,我将提供两个:

1。堆栈驱动程序

将日志流式传输到Stackdriver,它是Google Cloud的一部分,根本不将其存储在服务器上。在您的node.js应用程序中,您可以设置Winston并使用the Winston transport for Stackdriver。然后,您可以在那里进行分析和查询,而不必担心存储空间用完。

2。 logrotate

如果要手动处理,可以配置logrotate。它将gzip旧日志,以便它们消耗更少的磁盘空间。这是一种较旧的“预云”处理方式。

以上是关于更改在GCE上运行的node.js的日志目标位置的主要内容,如果未能解决你的问题,请参考以下文章

Node.js OpsWorks 层控制台日志

如何访问 Cloud Function node.js10 中的 Secret Manager?

运行单元测试时如何抑制来自 node.js 应用程序的应用程序日志消息?

如何在端口 80 上运行 Node.js?

如何在运行 Node.js 的 Debian 上安装 sqlite3?

更改 Node.js 监听端口