首页 > 解决方案 > 在 NodeJs 中刷新记录器对象的最佳方法是什么?

问题描述

我的应用程序是一个 API,用于存储它收到的请求的日志事件。自定义记录器对象根据计时器或队列大小达到最大大小时定期将日志事件写入数据库。我想在应用程序关闭时刷新此对象的事件日志队列,无论是因为致命错误还是重新部署。我正在使用 express 和本机 https 模块来创建 API 服务器。我想我可以刷新服务器的错误侦听器和服务器的关闭回调中的日志,但是如何引用项目中不同脚本的记录器对象呢?我已经研究过使用全局变量,但这似乎是非常不鼓励的,那么对于我的用例有更好的选择吗?

标签: node.js

解决方案


您可以在object上设置事件侦听process器,该侦听器在 node.js 中全局可用。您将需要尝试监听哪个事件事件,以确保它始终被触发并且您能够执行您想做的工作。信号事件可能是您最好的选择,因为该事件exit不允许您执行异步任务,例如刷新


推荐阅读