使用自定义日志记录覆盖 chrome 控制台日志位置

Sam*_*son 6 javascript console logging google-chrome

当您console.log('hi')在 Chrome 中使用时,它会打印出日志来源的位置。我遇到的问题是我现在正在像这样在 chrome 中拦截控制台日志。

this.originalConsoleLog = console.log;

console.log = this.log.bind(this);

function log(message?: any, ...optionalParams: any[]): void {
  this.originalConsoleLog(message, optionalParams);
  this.splunkLogger('LOG', message, optionalParams);
}
Run Code Online (Sandbox Code Playgroud)

因此,在 chrome 中,我现在记录的任何内容都将来自这个位置,试图找出我的问题现在来自哪里真的很烦人。

这是一个例子: 在此输入图像描述

我希望不要说 logger.service.ts:36,而是说 Desktop.ts:24 或 funtime.ts:69,它在当前形式下根本没有帮助。也许如果我用它调用this.originalConsoleLog(arguments);它会忽略我的日志记录功能?

Sam*_*son 0

正如@slacks所说,这是“不可能的”

我发现做到这一点的最好方法是在我的日志记录服务中添加一个条件来检查您是否是本地的并且在本地不要覆盖日志记录。控制台日志的任何覆盖都会使问题成为问题。