Проверка наличия/существования конкретной ошибки консоли с помощью javascript

Я хотел бы проверить, произошла ли определенная ошибка консоли с использованием javascript, и alert() сам, если это так.

Ошибка будет выглядеть так:

00:00:34:0359 TimeEvent.COMPLETE
    (anonymous function) @ VM17617:1

И алгоритм будет выглядеть примерно так:

function checkError(console) {
    if(console.error === "TimeEvent.COMPLETE") {
        alert("The error is present");
    }
}

Я не очень хорошо знаком с консолью и не продвинулся дальше исследований Google. Может ли кто-нибудь указать мне в правильном направлении?


person JSW189    schedule 29.06.2015    source источник
comment
Не лучше ли попытаться подключиться к фактическому событию, которое вызывает ошибку?   -  person Jan    schedule 29.06.2015
comment
@Jan: Это был мой первоначальный план, но я тоже не могу этого понять. Это событие: try { __flash__toXML(console.error("00:02:30:0596 TimeEvent.COMPLETE")) ; } catch (e) { "<exception>" + e + "</exception>"; } Есть идеи?   -  person JSW189    schedule 29.06.2015
comment
Это должно находиться где-то внутри функции или метода. Вы можете получить метод, внедрить в него что-то, а затем перезаписать его своим собственным журналом.   -  person Jan    schedule 29.06.2015


Ответы (2)


В конечном итоге я решил свой вопрос, следуя этой записи в блоге о принятии через консоль с javascript.

Вот мой окончательный код:

var original = window.console
window.console = {
    error: function(){      

        //Gets text from error message.
        errorText = arguments['0'];

        if (errorText.includes('TimeEvent.COMPLETE')) {
            //DO STUFF HERE
        }

        original.error.apply(original, arguments)
    }
}
person JSW189    schedule 04.07.2015

Вы не представили всей картины о том, как и когда консоль получает ошибку. Если вы сами вызовете ошибку или сможете поймать ее внутри try catch, это будет лучшее место для перехвата этих ошибок.

Однако, если вы не можете контролировать, как возникает эта ошибка, вам следует попытаться перехватить вызовы ошибок вашей консоли. Я никогда не пробовал это сам, но этот SO answer объясняет, как перехватывать log вызовы консоли. Зная, что в консоли обычно есть функция с именем error, похожая на функцию log, я уверен, что вы могли бы применить ту же логику для перехвата ошибок, отправляемых на консоль.

Если вы используете Chrome, вы можете обратиться к документации по консоли для более подробной информации о функции ошибок. Я не уверен, что существует стандарт, но Internet Explorer и Firefox также поддерживает функцию консоли error.

person The_Black_Smurf    schedule 29.06.2015