javascript - NestJs - 通过确定调用者姓名记录特定功能
问题描述
目前我正在使用 NestJs 默认日志记录并想出类似这样的东西
@Controller('users')
export class UsersController {
private logger: Logger = new Logger(UsersController.name, true);
@Get()
public getAllUsers(): any[] {
this.logger.debug('Getting all users', this.getAllUsers.name);
return [];
}
}
将显示日志消息
[Nest] 2926 - 01/05/2020, 7:39:19 PM [getAllUsers] 获取所有用户 +2094ms
将上下文参数自动设置为只需要编写会很酷
this.logger.debugFunction('Getting all users');
因为在记录控制器、服务和存储库功能时,事情可能会变得有些混乱。所以从文档
https://docs.nestjs.com/techniques/logger#extend-built-in-logger
可以扩展默认的日志记录行为。以我想出的文档为例
export class MyLogger extends Logger {
debugFunction(message: string) {
super.debug(message, 'this.caller.name');
}
}
以前在这里问过这个
但this.debugFunction.caller
似乎不是一个好方法,因为文档清楚地说
有没有办法以生产代码的标准方式自动确定上下文(调用者)?
解决方案
推荐阅读
- python - 'RawReactionActionEvent' 对象没有属性 'guild'
- python - discord.py 1.3.2:如何在用户按下表情符号反应时检测和执行代码
- python - 我想知道这个python程序的工作过程
- php - 为什么我不能在 WordPress functions.php 中将多个 Google 字体排入队列?
- python-3.x - 用python解决耦合PDE
- angular - Angular $localize 使用动态翻译 ID
- r - 如何在向量中使用 onehot 编码和 dummyVars?
- vuejs2 - 为什么使用 vuetable-2 组件时出现未知的自定义元素错误?
- vue.js - vue会在客户端下载所有页面吗?
- javascript - 我可以在 nuxt.config.js 中访问 nuxt 上下文吗?