node.js - 在 NodeJs 中刷新记录器对象的最佳方法是什么?
问题描述
我的应用程序是一个 API,用于存储它收到的请求的日志事件。自定义记录器对象根据计时器或队列大小达到最大大小时定期将日志事件写入数据库。我想在应用程序关闭时刷新此对象的事件日志队列,无论是因为致命错误还是重新部署。我正在使用 express 和本机 https 模块来创建 API 服务器。我想我可以刷新服务器的错误侦听器和服务器的关闭回调中的日志,但是如何引用项目中不同脚本的记录器对象呢?我已经研究过使用全局变量,但这似乎是非常不鼓励的,那么对于我的用例有更好的选择吗?
解决方案
您可以在object上设置事件侦听process
器,该侦听器在 node.js 中全局可用。您将需要尝试监听哪个事件事件,以确保它始终被触发并且您能够执行您想做的工作。信号事件可能是您最好的选择,因为该事件exit
不允许您执行异步任务,例如刷新
推荐阅读
- json - 如何以表格格式而不是 JSON 文件制作 GCP 虚拟机清单?
- c# - VS2019 Enterprise 的性能调试项目非常慢
- ssl - 具有期货的启用 TLS 的服务器?
- google-cloud-platform - 如何将 Google Cloud Scheduler 配置为每天从早上 8 点到晚上 8 点每 4 小时运行一次?
- android - android Kotlin 中的 HTTP GET
- google-cloud-firestore - 有没有办法我可以在firestore文档的特定字段而不是整个文档上设置firestore触发器
- python - Python:在 python 数据框中创建包含列表作为其值的两列的组合
- customization - 如何在 peoplesoft 中快速获取自定义列表
- python - 在每个客户端 Python 的两个日期列表之间解析
- spring-cloud - 为什么在 Spring Cloud Data Flow 中一个组合任务不能执行其他组合任务?