微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否可以在 React/JavaScript 中获取正在执行的函数的文件路径?

如何解决是否可以在 React/JavaScript 中获取正在执行的函数的文件路径?

我正在使用 create-react-app 来构建我的应用程序,并使用新遗物的 noticeError() 来记录错误

在下面,您可以看到我如何记录错误的示例:

  var err = new Error('Report caught error to New Relic');
  
  // exported from logger.ts
  logError(err,{
    hint:
      'Check the validatetoken() function. The JWT token might have expired',filePath: 'src/routes/Routes.tsx',});

logger.ts

import { getLocalStorage } from '../utils/localStorageHandler';
import LOCALSTORAGE_KEYS from '../constants/localStorageKeys';
import { CandidatePersonalDetail } from '../graphql/declarations';

interface Attributes {
  errorType: string;
  mobile?: string;
  userID?: number;
  role?: string;
  name?: string;
}

// Define and export your error types from here
export const ERROR_TYPES = {
  API_ERROR: 'API_ERROR',};

export const logError = (
  err: any,customAttributes?: { [key: string]: string | number },callback?: () => void,): void => {
  const attributes: Attributes = {
    errorType: ERROR_TYPES.API_ERROR,...customAttributes,};

  const personalDetails:
    | CandidatePersonalDetail['candidate']
    | null = getLocalStorage(LOCALSTORAGE_KEYS.USER_PERSONAL_DETAILS);

  // If personal details exist in local storage
  if (personalDetails && Object.keys(personalDetails).length) {
    if (personalDetails.mobile) {
      attributes.mobile = personalDetails.mobile;
    }

    if ((personalDetails as any).role) {
      attributes.userID = personalDetails.id;
      attributes.name = `${personalDetails.firstName} ${personalDetails.lastName}`;
      attributes.role = (personalDetails as any).role;
    }
  }

  (window as any).newrelic.noticeError(err,attributes);

  if (callback) {
    callback();
  }
};

我正在手动添加文件路径以帮助开发人员尽可能多地进行调试。是否可以通过在调用 logError() 函数时访问文件路径来自动执行此操作,以便我可以将其作为自定义属性传递给新遗物?我对绝对或相对路径没问题。感谢期待。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?