- Регистрация
- 11.05.2015
- Сообщения
- 3 788
- Благодарностей
- 1 952
- Баллы
- 113
Всем привет.
Очень часто при написании шаблонов на C# и удобстве отладки рекомендуется добавлять оповещения в лог, для визуального восприятия прохождения процесса выполнения проекта, чтобы сразу было видно на каком шаге возникает ошибка. В итоге информация в логе (количество выводимых оповещений) разрастается, и чтобы выводить в лог только нужные оповещения, я и написал предлагаемый обработчик, который можно использовать в любом из своих шаблонов.
Вы можете использовать не только стандартные типы оповещений (Информация, Предупреждение, Ошибка), но и добавить к ним уровни приоритета по выводу информации в лог.
Через входные настройки или через код можете сами задавать уровень приоритета.
Кроме уровня приоритета, можно задавать настройки надо ли сохранять информацию из лога в отдельный файл, и надо ли отправлять оповещение в телеграм (например, при ошибке или по какому-то другому условию).
Покажу на примере для большей наглядности.
Стандартные оповещения выглядят так.
Вы можете изменить показывать или нет оповещение в ZennoPoster, при этом в ProjectMaker оповещения будут показываться всегда.
Теперь посмотрите, как могут выглядеть оповещения с дополнительными настройками.
Вроде изменения не большие, но тут указаны все параметры (включая не обязательные)
В сокращенном варианте, для типа информации можно написать так:
это практически полный аналог записи
А теперь представьте, если у Вас много таких оповещений, но часть из них нужна только для большей информативности, и некоторые из них вы просто хотели бы отключить или сохранять в файл или отправлять в телеграм. В этом случае можно использовать другие параметры (их названия и количество, можете изменять самостоятельно.)
Например:
При добавлении оповещений проекта, Вы решаете, что у Вас будет 3 уровня (или сколько хотите) с разделением их по важности. 1 – важная информация (по умолчанию), 2 – дополнительная менее важная информация, 3 – более подробная информация (например, если вы описываете выполнение каждого шага, и нужна отладочная информация с значениями переменных или какими-то еще параметрами)
Тогда код оповещения может быть таким:
и если Вы через настройки уровня оповещений зададите уровень 2, то сообщения с уровнем 3 не будут показываться в логе, но при этом в файл с логом могут сохранятся файлы с любым уровнем лога, чтобы его можно было просмотреть при необходимости и быстрее найти нужное место, где происходит ошибка или неверное выполнение задачи.
Дополнительные типы оповещений, которые можно создать на основе трех стандартных.
Для оповещений об ошибке можно сделать дополнительный тип “fatal”, зачем это нужно? Просто не все оповещения типа “error” могут быть критическими для выполнения проекта и можно продолжать выполнение дальше (например, повторить выполнение в цикле или если действие не обязательное), а если после такой ошибки дальнейшее выполнение бессмысленно, то можно просто остановить проект с выводом исключения и подробной информацией об ошибке.
Используя информацию из других статей на форуме, можно подключить отправку критических ошибок или информацию о ходе выполнения проекта себе в телеграмм, чтобы оперативно отреагировать в нужный момент.
Так же сокращается количество кода. Один раз написать в нужный код обработки в методе из общего кода и одной строчкой вызова оповещения будут выполняться все нужные действия, в том числе сохранение в файл и т.п.
Код в шаблоне с комментариями, для лучшего понимания.
Очень часто при написании шаблонов на C# и удобстве отладки рекомендуется добавлять оповещения в лог, для визуального восприятия прохождения процесса выполнения проекта, чтобы сразу было видно на каком шаге возникает ошибка. В итоге информация в логе (количество выводимых оповещений) разрастается, и чтобы выводить в лог только нужные оповещения, я и написал предлагаемый обработчик, который можно использовать в любом из своих шаблонов.
Вы можете использовать не только стандартные типы оповещений (Информация, Предупреждение, Ошибка), но и добавить к ним уровни приоритета по выводу информации в лог.
Через входные настройки или через код можете сами задавать уровень приоритета.
Кроме уровня приоритета, можно задавать настройки надо ли сохранять информацию из лога в отдельный файл, и надо ли отправлять оповещение в телеграм (например, при ошибке или по какому-то другому условию).
Покажу на примере для большей наглядности.
Стандартные оповещения выглядят так.
C#:
project.SendInfoToLog("Текст Инфо", true);
project.SendWarningToLog("Текст предупреждения", true);
project.SendErrorToLog("Текст ошибки", true);
Теперь посмотрите, как могут выглядеть оповещения с дополнительными настройками.
C#:
myLog.SendInfo("Информация", "info", 3, true, true);
myLog.SendInfo("Предупреждение", "warning", 5, true, true);
myLog.SendInfo("Ошибка без остановки", "error", 3, true, true);
В сокращенном варианте, для типа информации можно написать так:
C#:
myLog.SendInfo("Информация");
C#:
project.SendInfoToLog("Текст Инфо");
Например:
При добавлении оповещений проекта, Вы решаете, что у Вас будет 3 уровня (или сколько хотите) с разделением их по важности. 1 – важная информация (по умолчанию), 2 – дополнительная менее важная информация, 3 – более подробная информация (например, если вы описываете выполнение каждого шага, и нужна отладочная информация с значениями переменных или какими-то еще параметрами)
Тогда код оповещения может быть таким:
C#:
myLog.SendInfo("Инфо по умолчанию", "info", 1); или myLog.SendInfo("Информация");
myLog.SendInfo("Информация дополнительно", "info", 2);
myLog.SendInfo("Информация для отладки", "info", 3);
Дополнительные типы оповещений, которые можно создать на основе трех стандартных.
C#:
myLog.SendInfo("TRACE", "trace", 6, true, true);
myLog.SendInfo("DEBUG", "debug", 3, true, true);
myLog.SendInfo("Fatal Ошибка с остановкой", "fatal", 6, true, true);
Используя информацию из других статей на форуме, можно подключить отправку критических ошибок или информацию о ходе выполнения проекта себе в телеграмм, чтобы оперативно отреагировать в нужный момент.
Так же сокращается количество кода. Один раз написать в нужный код обработки в методе из общего кода и одной строчкой вызова оповещения будут выполняться все нужные действия, в том числе сохранение в файл и т.п.
Код в шаблоне с комментариями, для лучшего понимания.
- Категория
- Полезно
- Номер конкурса шаблонов
- Четвертый конкурс шаблонов
- Уровень сложности
- Продвинутый
Вложения
-
27,4 КБ Просмотры: 578
Для запуска проектов требуется программа ZennoPoster или ZennoDroid.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...
Для того чтобы запустить шаблон, откройте нужную программу. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.
Последнее редактирование: