nestjs获取方法/函数调用者名称或堆栈



我有一个服务,它有一个方法(a .method()),它被来自多个服务(B.method(), C.method()…)的其他方法调用。
我想知道方法调用者的名字或者调用我方法的服务。

我找到的唯一有效的解决方案,直到知道是抛出一个虚拟错误和检查error.stack,但这是肮脏的:)

PS:我没有使用任何控制器/解析器,只是因为cronjobs或构造函数而启动的函数。
我试过拦截器&可以使用守卫,但似乎对简单的方法不起作用。

我认为错误堆栈是足够的信息。如果您发现名称很难看,那么您应该添加sourceMap以获得更好的函数名称和文件位置。另一种方法(可能有点过分)是添加像Jaeger或OpenTelemetry这样的跟踪来可视化函数调用、执行时间和许多其他信息。

最新更新