Я хотел бы расширить функцию "console.log", чтобы добавить дополнительную информацию к ее выводу, но я не хочу влиять на информацию о имени/номере номера script, сгенерированную браузером в окне консоли. Посмотрите, как я создаю свою собственную реализацию, я получаю бесполезную информацию о трассировке, должен ли я найти эту область кода... (все они ссылаются на реализацию журнала, а не на фактический script, который вызвал сообщение журнала)
В принципе, мое приложение представляет собой очень подключаемую инфраструктуру, и любой выход журнала может возникать в любом количестве кадров. Поэтому я хочу, чтобы каждое сообщение журнала включало специальный уникальный идентификатор в начале сообщения журнала.
Я попытался заменить метод console.log своим, но хром жалуется на
Uncaught TypeError: Illegal invocation
вот как я его переопределяю
var orig = console.log;
console.log = function( message )
{
orig( (window == top ? '[root]' : '[' + window.name + ']') + ': ' + message );
}
Любые идеи?
[EDIT] Примечание. После исправления проблемы "незаконного вызова" кажется, что имя файла /linenumber все еще "загрязнено" переопределением...
[EDIT] Похоже, что общий ответ - НЕТ - несмотря на некоторые запутанные гонимые погони, желаемая функциональность НЕ достижима в текущих версиях браузеров.