在Node.js + Express中记录错误的任何实际稳定方法?

Jon*_*ing 5 node.js express

所以,我一直在看这个安静一段时间.从Node.js 0.8.15开始,Event: 'uncaughtException'http://nodejs.org/api/process.html#process_event_uncaughtexception上说:

Don't use it, use domains instead. If you do use it, restart your application after every unhandled exception!
Run Code Online (Sandbox Code Playgroud)

http://nodejs.org/api/domain.html上的域名说:

Stability: 1 - Experimental
Run Code Online (Sandbox Code Playgroud)

(他们也拒绝为我工作 - 我的应用程序仍然崩溃)

我所要做的就是让我的Node.js + Express应用程序崩溃.

任何人都成功地将所有错误记录到文件中(预期和意外的语法错误)并且不让Node.js崩溃的任何实际方式?

我听过很多理论答案,任何有效的实际代码?

小智 9

我遇到过类似的情况,一直在使用未捕获的异常.它可能不是很漂亮,但通过一些额外的工具,我认为你可以得到一个很好的结果.

使用Forever和Winston

让它崩溃

如果您只想保持自己的应用程序,可以考虑永远使用NodeJitsu.你可以设置一个阈值,它应该重新启动你的应用程序的次数,如果你有一个讨厌的错误,它只是不会熬夜.不允许您的应用在未捕获异常的情况下循环可能会使应用程序处于无效状态并导致更多异常.为什么不让它崩溃并永远为你重新启动它.

退出前记录

要捕获并记录错误,请尝试使用winston捕获并记录未捕获的异常,然后退出.请参阅有关使用Winston处理未捕获的异常的部分,其中介绍了如何处理此确切方案.如果winston正在登录文件,您可以参考它并查看您的应用程序频繁崩溃的频率以及原因.

结果

结合这两者,您应该能够设置一个可以引用的未捕获的异常日志文件,在大多数情况下保持您的应用程序运行并避免忽略可能使您的应用程序处于无效状态的异常.

亚历克斯