Я согласен, что консольная заглушка - хороший подход. Я пробовал различные консольные плагины, фрагменты кода, в том числе довольно сложные. У них у всех были проблемы, по крайней мере, в одном браузере, так что я закончил тем, что сделал что-то простое, как показано ниже, который объединяет другие фрагменты, которые я видел, и некоторые предложения от команды YUI. Похоже, что он работает в IE8 +, Firefox, Chrome и Safari (для Windows).
// To disable logging when posting a production release, just change this to false.
var debugMode = false;
// Support logging to console in all browsers even if the console is disabled.
var log = function (msg) {
debugMode && window.console && console.log ? console.log(msg) : null;
};
Примечание: Поддерживается отключение регистрации в консоли через флаг. Возможно, вы могли бы автоматизировать это и с помощью скриптов сборки. В качестве альтернативы, вы можете использовать пользовательский интерфейс или какой-либо другой механизм для переключения этого флага во время выполнения. Конечно, вы можете сделать это намного сложнее, с уровнями журналирования, ajax-передачей журналов на основе порогового значения журнала (например, все операторы уровня ошибок передаются на сервер для хранения там и т. Д.).
Многие из этих тем / вопросов, связанных с ведением журнала, похоже, считают операторы журнала отладочным кодом, а не кодом инструментарий . Отсюда и желание убрать записи журнала. Инструментарий чрезвычайно полезен, когда приложение находится в свободном доступе, и больше не так просто подключить отладчик или информация поступает от пользователя или через службу поддержки. Вы никогда не должны регистрировать что-либо конфиденциальное, независимо от того, где оно было зарегистрировано, поэтому конфиденциальность / безопасность не должны подвергаться риску. Как только вы думаете о регистрации как о инструментарии, она теперь становится рабочим кодом и должна быть написана в том же стандарте.
С приложениями, использующими все более сложный javascript, я считаю, что инструментарий очень важен.