Расширения Chrome: получите текущую консоль для отправки на сервер - PullRequest
2 голосов
/ 05 ноября 2011

Можно ли получить текущий вывод консоли в любой форме?

Например, было бы замечательно для моих целей отладки, если всякий раз, когда тест на машине пользователя не удался, я мог вызвать что-то вроде:

console.trace()
output = console.dump()
$.post("https://<myserver>/debug/logs", { "console" : output } );

, который обернет текущий вывод консоли и отправит его на сервер.

В более общем смысле я хотел бы включить кнопку для отправки отчета об ошибкеи хотел бы, чтобы каждый отчет об ошибке был упакован с как можно большим количеством контекстных данных.

Полное раскрытие: я знаю, что я мог бы просто избежать вызова console.log() и вместо этого вызвать свою собственную специализированную функцию регистрации для хранения /загрузка журналов ошибок.Я включил строку console.trace(), чтобы объяснить, почему это промежуточное решение не было бы идеальным, но в конечном итоге причина, по которой я не хочу этого делать, заключается в том, что я создаю общий модуль отладки, который можно сразу использовать в любом расширении.(поэтому обычный разработчик, использующий console.log или console.error, сможет вставить одну или две строки для настройки удаленной отладки).

1 Ответ

1 голос
/ 05 ноября 2011

Я не думаю, что это возможно в Chrome.Вы можете использовать команду handy console.dir(), чтобы увидеть, какие функции доступны для консоли.Я не видел ничего, что могло бы получить какой-либо текст из консоли.

Вы получаете такой список:

console.dir(console)
...