Анализ ошибок и логирование
Сервер печати CashCheck логирует большинство своих действий. Для вывода используется библиотека log4j. Также в некоторых местах используется прямой вывод в консоль. В основном это специальный консольный вывод и незалоггированные ошибки сервера. По умолчанию основной лог пишется в файл ./log/cashserver.log, а консольный вывод - в ./log/cashserver.out.
В разных режимах работы логгера log4j может выводиться разная информация. Примерное распределение информации по уровням логгирования:
-
error: ошибки сервера, потоков команд, работы драйверов;
-
warn: ошибки протокола (неверные пропущенные заголовки итд), ошибки, возвращенные драйвером и переданные вызывающему;
-
info: старт, стоп, получение команд;
-
debug: получение сервером запросов, старт/стоп каждого потока команд;
-
trace: содержимое команд и ответов на них, низкоуровневый вывод драйверов и устройств.
Полный вывод может понадобиться для отладки конкретного устройства. Например, когда возникает ошибка соединения, с помощью подробной трассировки можно понять на каком этапе была авария. Часто подобная информация нужна разработчикам при дописывании программы для поддержки какого-либо устройства. Чтобы сменить режим, поменяйте значение параметра в конфигурации log4j-cashcheck.xml:
priority value="DEBUG"
Для более полного понимания логики работы логгера читайте документацию по log4j.