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