我正在Intranet上运行带有React JS前端的后端应用程序。我不想使用Sentry或Rollbar之类的服务来跟踪生产中的最小化代码,因为我不想在外部上传我们的源地图。
是否有用于跟踪和记录JS源映射中的错误的自托管解决方案?
答案 0 :(得分:0)
我们正在使用JSNLog和Stacktrace的组合。这就是index.html的<head>
中的内容:
<script src="~/js/jsnlog.min.js"></script>
<script src="~/js/stacktrace.min.js"></script>
<script src="~/js/stacktraceConfig.js"></script>
stacktraceConfig.js 的内容下方:
window.onerror = function (msg, file, line, col, error) {
var callback = function (stackframes) {
var stringifiedStack = stackframes.map(function (sf) {
return sf.toString();
}).join('\n');
JL('serverLog').fatalException({
msg: 'Exception! ' + stringifiedStack,
1: '--------------------------------------------------------------',
errorMsg: msg,
url: stackframes[0].fileName + ":" + stackframes[0].lineNumber,
functionName: stackframes[0].functionName,
lineNumber: stackframes[0].lineNumber,
column: stackframes[0].column,
x: '--------------------------------------------------------------',
}, error);
};
var errback = function (err) { console.log(err.message); };
StackTrace.fromError(error).then(callback).catch(errback);
// Tell browser to run its own error handler as well
return false;
};
您必须自己配置JSNLog,以使其通过邮件发送错误。