【问题标题】:nestjs get method/function caller name or stacknestjs 获取方法/函数调用者名称或堆栈
【发布时间】:2022-12-10 15:18:37
【问题描述】:

我有一个服务,它有一个方法 (A.method()),它被来自多个服务的其他方法调用(B.method()、C.method()...)。
我想以某种方式知道方法调用者名称或调用我的方法的服务是什么。

在知道之前我发现的唯一可行的解​​决方案是抛出一个虚拟错误并检查error.stack,但这是肮脏的:)

PS:我没有使用任何控制器/解析器,只是因为 cronjobs 或构造函数而启动的函数。
我尝试了拦截器和 auth 守卫,但它们似乎不适用于简单的方法。

【问题讨论】:

    标签: nestjs


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2011-01-19
      • 2017-04-19
      • 1970-01-01
      • 1970-01-01
      • 2011-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-19
      相关资源
      最近更新 更多