如何解决是否可以在 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 举报,一经查实,本站将立刻删除。