Перейти к основному содержимому

Логирование

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

this.doLog

Показывает включено ли ведение лога задания, может использоваться как флаг для оптимизации, для случаев когда лог не ведется и аргументом к this.logger.put идет сложное выражение

this.logger.*

.put(message)

this.logger.put(message) - добавляет строчку message в лог задания, форматирует вывод аналогично console.log

this.logger.put("Start scraping query: " + set.query);
Пример вывода сообщения в лог задания

.putHTML(HTML)

this.logger.putHTML(code) - вывод в лог задания HTML кода, который будет отображен в textarea

const message = "<!DOCTYPE html>\n"
+ "<html>\n"
+ "<body>\n"
+ "<h1>This is heading 1</h1>\n"
+ "<h2>This is heading 2</h2>\n"
+ "<h3>This is heading 3</h3>\n"
+ "<h4>This is heading 4</h4>\n"
+ "<h5>This is heading 5</h5>\n"
+ "<h6>This is heading 6</h6>\n"
+ "</body>\n"
+ "</html>";
this.logger.putHTML(message);
Пример вывода html в лог задания

console.log(message)

Выводит содержимое message в лог файл - aparser.log

this.console.*

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

.log(...message)

this.console.log(...message) - логирование с привязкой к текущему потоку, позволяет выводить префикс для каждого потока

.setPrefix(prefix)

Используется в связке с BaseParser.setGlobalConsolePrefix(prefix) - позволяет установить глобальный префикс для всех потоков в рамках текущего задания

this.console.setPrefix(prefix) - позволяет установить префикс для текущего потока, например

this.console.setPrefix(this.threadId())