node.js - 更改在 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 并为 Stackdriver 使用 Winston 传输。然后你就可以在那里进行分析和查询,不用担心存储空间耗尽。
2.logrotate
如果要手动处理,可以配置logrotate。它将 gzip 较旧的日志,以便它们消耗更少的磁盘空间。这是一种较旧的“云前”做事方式。
推荐阅读
- php - PHP - 英语和法语的区域设置特定日期格式
- dart - 如何在 Flutter 中从网站获取 JSON
- node.js - 如何使用 NodeJS 和条件表达式访问 DynamoDB 中的嵌套元素?
- c# - TabControl 未找到 TabControl 项的数据模板
- javascript - jQuery 脚本的元素在返回到浏览器上的页面时起作用,但在刷新时不起作用
- sql-server - 存储过程代码用于将数据插入表中,但在从存储过程节点调用时不起作用
- php - 提交时表单无法继续
- java - 当我没有时,数组一直将 0 计数为数字
- html - 元素不会在 jumbotron 元素中水平居中
- javascript - 数据表服务器端处理非常慢