动态调试日志
假设您正在使用util.debuglog编写调试语句(如您应该的那样),并且希望可以挂接到process.env.NODE_DEBUG来动态地打开和关闭它们,而无需重新启动进程。 这样可以做到这一点。
也许您的应用程序中有一个REPL,或者您打开了一条路线,或者您想以编程方式触发它。 如果可以在process.env对象上设置变量,则可以打开和关闭调试语句。
性能说明
为了保持动态,此调试器必须在每个调试语句上检查process.env.NODE_DEBUG 。 在调试模式下,此附加检查完全可以忽略。 但是,当不进行调试时,它仍然必须执行检查。 这比不处于调试模式时核心util.debuglog调用的空函数要慢得多。
没问题! 实例化动态调试记录器时,它将在process.env.NODE_ENV进行一次检查,因此可以将其参数化以在某些环境中恢复为util.debuglo
1