Журналы и логи
Журналы
Журнал ошибок

Содержит все ошибки, возникшие в ходе работы. Ошибки делятся на следующие классы (колонка Класс объекта):
- ошибки, возникшие на сервере — отображены на белом фоне и входят в единственный класс
Исключение на сервере; - ошибки, возникшие на сервере и полученные клиентским приложением — отображены на розовом фоне и входят в единственный класс
Исключение на сервере (от клиента); - ошибки, возникшие на клиентском приложении — отображены на жёлтом фоне и входят в два класса:
Исключение на клиентеиИсключение на web-клиенте; - ошибки связи — отображены на голубом фоне и входят в два класса:
Временное исключение связи— связь с сервером прерывалась, но была восстановлена;Постоянное исключение связи— связь с сервером прерывалась и не восстановилась.
В секции След исключения отображается java-стек ошибки, в секции LSF след исключения — lsfusion-стек, в секции Асинхронный след исключения — стек породившего асинхронного запроса (актуально для ошибок в фоновых потоках и в обработчиках событий, где обычный стек не показывает исходный пользовательский контекст).
Журнал подключений

Хранит информацию о пользователях, которые подключались к системе, с какого компьютера, каковы характеристики этого ПК, а также информацию о дате и времени подключения/отключения. На форме можно отобразить пользователей, работающих в данный момент с БД, — отметка Активные подключения.
В секции Форма видно, сколько раз и в какие формы входил пользователь. В секции Сессия, для некоторых форм, можно проследить, когда применялись изменения.
Журнал запусков
Хранит информацию о дате и времени запуска (перезапуска) сервера приложений. Также видно имя компьютера, на котором установлен сервер, и версию приложения (если заполняется при сборке).
Журнал изменений

Содержит более подробную информацию о применённых изменениях, которые были отражены в Журнале подключений в секции Сессия. В колонке Изменения отображается список Свойств (колонок), в которых менялись значения, а также количество изменений (строк). Логируются только изменения на текущей форме — зависимые Свойства, которые меняются одновременно на других таблицах, в данный список не попадают.
По умолчанию список изменённых свойств не логируется — в колонке Изменения остаются только сводные счётчики; полное логирование включается настройкой logChangesSession.
На форме можно отфильтровать изменения, сделанные пользователями (без системных изменений), — отметка Только изменения пользователя.
Журнал клиентских приложений

Содержит информацию о качестве соединения во время работы с сервером приложений за определённый период времени.
В верхней части формы для клиентских компьютеров, помимо системных показателей памяти, можно проанализировать средние значения времени отклика (ping) в миллисекундах, доступной и используемой java-приложением памяти. Анализируемый период задаётся вводом Дата с и Дата по в секции Дата со временем. Кроме дат, здесь можно задать пороговые значения для этих же показателей (ping и память) — это позволит получить суммарное время (в секундах), когда клиентский ПК превышал пороговые значения.
В нижней части, на вкладке Данные, представлена хронология изменений времени отклика, доступной и используемой памяти. Эта информация отображается только для Desktop-клиента.
Время хранения журналов

Сколько должна храниться информация в перечисленных журналах, указывается на форме Администрирование > Настройки > вкладка Логирование.
Пользовательское логирование
Если необходимо отслеживать изменения отдельных значений в каких-либо Свойствах (колонках) на определённых Формах, для таких случаев разработан механизм пользовательского логирования. Например, в справочнике Сотрудники нужно протоколировать изменения фамилии сотрудника. Для этого:
-
находясь на любой записи колонки
Фамилия, по правой клавише мыши вызываем менюНастройка политики свойств:
-
в форме
Политика безопасностиустанавливаем отметкуЛогируется пользователеми нажимаем кнопкуОК:
-
после перезапуска сервера приложений при нажатии правой клавишей мыши на Свойстве
Фамилияпоявится дополнительный пункт менюПоказать историю изменений. Если для текущей записи фамилия была кем-то изменена, это найдёт отражение в истории изменения свойств:
Время хранения для подобных протоколов устанавливается одинаковым со временем хранения для Журнала изменений.
Механизм настройки журналов
Каждый из перечисленных журналов задаётся в системных модулях платформы единообразно: для журнала объявляется отдельный класс, форма для его просмотра, параметр времени хранения и точка расширения для очистки устаревших записей. Эта связка автоматически порождается на стороне системных модулей по одному и тому же шаблону, поэтому время хранения для каждого журнала задаётся независимо — на форме Администрирование > Настройки > Логирование каждому журналу соответствует своя строка.
Очистка устаревших записей выполняется по расписанию через общую точку расширения clearApplicationLog. Прикладной модуль может подключиться к этой точке и добавить свой журнал в общий цикл очистки, не дублируя планировщик.
Логи
Для каждого компонента платформы в платформе поддерживается следующий набор логов:
| Компонент | Папка | Логи |
|---|---|---|
| Сервер приложений (Server) | $FUSION_DIR$/logs, где $FUSION_DIR$ - папка запуска сервера приложений |
|
| Веб-сервер (Client) | $CATALINA_BASE$/logs, где $CATALINA_BASE$ - папка, в которую установлен Tomcat |
|
| Десктоп-клиент | $USER_DIR$/.fusion/logs, где $USER_DIR$ - папка пользователя |
|
При автоматической установке под Linux для этих папок (как и для файлов lsFusion параметров запуска) автоматически создаются symlink'и на другие папки, расположение которых лучше соответствует идеологии Linux.