记录一切 - Javascript

Logging everything - Javascript

我有很多要记录的微服务。 我的目标是创建一个将安装在每个服务中的 npm 包。 我的目标是易于集成,例如:

const myLogger = require('mylogger')

//.... Express stuff
myLogger(app) 

我希望在 npm 模块中发生的事情是它将记录从函数执行到变量赋值的所有内容。 有没有一种工具可以只包装应用程序来完成它?或者我是否必须通过编写 log.info.. log.warn.. Etc

来明确记录所有内容

Javascript 中没有这种功能可以自动记录模块中每个被调用的函数或每个被赋值的变量。只有解释器本身知道该怎么做,它不提供相关功能。

可以包装 Express 应用程序,然后在包装器中编写特定代码以记录调用 Express 应用程序上的特定方法的时间。您可以通过将 Express 方法替换为某种记录然后调用原始代理存根的代理存根来做到这一点。但是,即使那样,您也必须决定要记录哪些方法以及这些方法的哪些参数,并在包装​​器中编写代码来实现这一点。