Зарегистрируйте минимизированные ошибки JavaScript в производственном коде - PullRequest
0 голосов
/ 22 октября 2018

Я запускаю фоновое приложение с интерфейсом React JS в нашей интрасети.Я не хочу использовать такие сервисы, как Sentry или Rollbar, чтобы отслеживать минимизированный код в производстве, потому что я не хочу загружать наши исходные карты извне.

Существуют ли собственные решения для отслеживания и регистрации ошибок в исходных картах JS?

1 Ответ

0 голосов
/ 22 октября 2018

Мы используем комбинацию JSNLog и Stacktrace .Вот что входит в <head> вашего index.html:

<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 самостоятельно, чтобы он отправлял ошибки по почте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...