"LogLevel": консольная команда MyChat Client для управления режимами протоколирования
В MyChat Client есть несколько режимов протоколирования работы, они совместимы со стандартом SysLog. После перезапуска программы автоматически устанавливается стандартный режим протоколирования (info = 4).
Синтаксис
LogLevel <type>
Параметры
Все уровни событий делятся на 6 категорий, от 1 до 6, у каждого есть текстовое сокращение.
Например, если вы включите уровень WARN, то в протокол будут попадать только события уровней 1, 2 и 3, а всё, что больше — нет.
Два последних режима предназначены для режимов отладки и могут генерировать довольно много текста.
Параметр |
Описание |
fatal или 1 |
любая ошибка, которая приводит к закрытию службы или приложения для предотвращения потери данных (или дальнейшей потери данных). Это - самые тяжёлые ошибки и ситуации, когда гарантировано повреждение или потеря данных; |
error или 2 |
любая ошибка, которая является фатальной для операции, но не для службы или приложения (не удается открыть требуемый файл, отсутствуют данные, указан неправильный пароль и т.д.). Эти ошибки требуют вмешательства администратора или пользователя, но не приводят к фатальным сбоям; |
warn или 3 |
все, что потенциально может вызвать странности приложения, но которые программа автоматически устраняет либо может продолжать работу дальше без фатальных ошибок (например, переключение с основного на резервный сервер, повторная попытка операции, отсутствие дополнительных данных и т. д.); |
info или 4 |
полезная информация для работы. Информация, которую полезно всегда иметь под рукой, но на которую не обращают внимания в обычных обстоятельствах. Это стандартный уровень протоколирования; |
debug или 5 |
расширенная диагностика (IT персонал, системные администраторы и т.д.); |
trace или 6 |
"трассировка", для подробной глубокой отладки, протоколирование сетевого трафика, логов будет очень много; |
пустая строка |
показать текущий режим протоколирования. |
Результат
Логи показываются в интерфейсе MyChat Client, их можно увидеть в консоли (Ctrl+` или через главное меню "Инструменты", "Консоль").
Текстовый вариант в формате UTF8 пишется в файл в папку протоколов за указанную дату, например, "%USERPROFILE%\MyChat Client\logs\2023\07\14\mcserv.log". Учитывайте, что этот файл может не создаваться, если в настройках программы отключено хранение протоколов из соображений безопасности, например.
Если включен уровень протоколирования 5 или 6, то в текстовый протокол в файл пишется расширенный timestamp, включая миллисекунды.
Чтобы открыть папку с логами в Проводнике, используйте консольную команду "Logs".
Пример
[16:38:39] loglevel trace
[16:38:39] Уровень протоколирования: TRACE
[16:38:42] [TRACE] Input traffic (raw): 802200{"UIN":29051,"State":0}
[16:38:42] [TRACE] Input traffic (raw): 802200{"UIN":29051,"State":0}
[16:38:42] [TRACE] Input traffic (unpacked): {"UIN":29051,"State":0}
[16:38:47] [DEBUG] 000C{"Ticks":334874484}
[16:38:47] [TRACE] Output traffic (unpacked): 000C10{"Ticks":334874484}
[16:38:47] [DEBUG] message sent to server
[16:38:47] ping
[16:38:47] [TRACE] Input traffic (raw): 800F10{"Ticks":334874484}
[16:38:47] [TRACE] Input traffic (raw): 800F10{"Ticks":334874484}
[16:38:47] [TRACE] Input traffic (unpacked): {"Ticks":334874484}
[16:38:47] PONG! (125 мс)
[16:39:14] loglevel info
[16:39:14] Уровень протоколирования: INFO