Лог – текстовый файл, в котором каждому событию соответствует одна строка со временем и дополнительными сведениями. Ведение лог-файлов позволяет восстановить картину неполадки и последовательность действий, которые к ней привели.
Общие настройки логирования
Настройки логирования задаются в файле /opt/sst-sco/conf/logger.ini. Используемая система ведения логов позволяет гибко настраивать виды журналов, объединять данные в один файл или распределять их по нескольким файлам. По умолчанию запись логов ведется в несколько файлов:
Файл | id логгера | Описание |
|---|---|---|
| root.log | Root | Основной лог-файл, содержит большинство информации о процессе работы. При разборе инцидентов первым делом надо смотреть этот файл |
| error.log | Error | Отдельный лог для вывода сообщений с уровнем Error |
| qt.log | Qt | Сообщения библиотек Qt. Используется разработчиками |
| config.log | Config | Лог загрузки настроек. При помощи этого файла можно восстановить все настройки, которые были установлены при старте программы |
| ui.log | Ui | Лог дерева виджетов. По комбинации клавиш Ctrl+W выводится в лог информация о всех виджетах на текущей форме.Используется при настройке интерфейса и тем оформления |
| api.log | Api | Лог API. Все сообщения между SCO и клиентом |
| scanner.log | Scanner | Лог сканера |
| scale.log | Scale | Лог прикассовых весов |
| mischw.log | MiscHw | Лог вспомогательных устройств, лампы оповещения и т. д. |
| cashcontrol.log | CashControl | Лог устройств приема наличных |
| weightcontrolserver.log | WeightControlServer | Лог сервера обмена данными для обучения контроля веса |
| weightcontrolclient.log | WeightControlClient | Лог клиента обмена данными для обучения контроля веса |
| securityscale.log | SecurityScale | Лог контрольных весов |
| pagerserver.log | PagerServer | Лог сервера вызова консультанта через пейджер |
| video.log | Video | Лог модуля отображения видео |
| msr.log | Msr | Лог считывателя магнитных карт |
| labelprinter.log | LabelPrinter | Лог принтера этикеток |
| stats.log | Stats | Лог модуля статистики |
При помощи maxFileSize и maxFiles можно изменить настройки ротации логов. Если размер файла превышает maxFileSize, он переименовывается в <имя файла>.1 и создается новый файл <имя файла>. Если уже есть файлы с суффиксом, то они также переименовываются из <имя файла>.N в <имя файла>.(N+1). Чем больше число суффикса, тем старее файл. Если таких файлов больше чем maxFiles, они удаляются.
Наименование | Возможные значения | Описание |
|---|---|---|
Файл /opt/sst-sco/conf/logger.ini, секция [Logger], настройки логирования | ||
| maxFileSize | целое число по умолчанию 5000 | Максимальный размер файла, в КБ |
| maxFiles | целое число по умолчанию 5 | Максимальное количество хранимых файлов |
| path | абсолютный путь до каталога по умолчанию /opt/sst-sco/logs | Путь до каталога с логами по умолчанию |
В интеграции с Artix логи по умолчанию пишутся в /linuxcash/logs/current/sst-sco.
Настройка логгеров
Каждый отдельный функциональный блок SCO имеет свой логгер – это группировка сообщений лога по некоторому id. По умолчанию все сообщения попадают в корневой лог Root, но при помощи настроек, сообщения отдельных логгеров можно перенаправлять в отдельный файл или другой логгер.
Для настройки логгера необходимо создать секцию с настройками:
Наименование | Возможные значения | Описание |
|---|---|---|
Файл /opt/sst-sco/conf/logger.ini, секция [Logger.<id логгера>], настройки логгера | ||
| level |
| Уровень логирования:
|
| file |
По умолчанию: | Можно задать абсолютный или относительный путь с названием файла. Если в параметре задан относительный путь, то файл создается относительно каталога |
| propagate | список id логгеров | Перенаправление в другой логгер (логгеры). Несколько логгеров пишутся через запятую. Если значение в параметре propagate пустое, то сообщения больше никуда не передаются, даже в Root логгер. Если параметр закомментирован или отсутствует, то используется значение по умолчанию. Как правило, это Root. В драйверах устройств используется логгер коллектор для типа устройства (например Scanner). Если ни один из логгеров не настроен, то используется Root. |