Добавление сервера журналирования и каналов вывода в решение
Программа LogrrServer отправляет сообщения одному или нескольким каналам вывода. Вы можете записывать сообщения журнала в файлы, используя канал вывода FsOutputChannel.
Если вам не требуется централизованно обрабатывать и хранить журналы, то вы можете не добавлять сервер журналирования и каналы вывода в ваше решение и использовать API компонента LogRR для журналирования. В таком случае, вы сможете добавить сервер журналирования и каналы вывода в любое время, если они потребуются.
Добавление и настройка сервера журналирования
Команда создания и настройки сервера журналирования create_logrr_server() может содержать следующие параметры:
LOG_LEVELУстанавливает указанный уровень журналирования. Доступные значения
LOG_LEVEL:CRITICAL,ERROR,WARNING,INFO,DEBUGиTRACE. По умолчанию, сервер журналирования обрабатывает сообщения с уровнем Info.CONFIG_PATHУказывает путь до конфигурационного файла сервера журналирования.
RECV_CORE_LOGSВключает сбор журналов ядра.
OUTPUT_CHANNELSПодключает один или несколько указанных каналов вывода к серверу.
DENY_DYNAMIC_CONN_TYPESВключает отклонение динамических подключений к серверу журналирования.
DENY_STATIC_CONN_TYPESВключает отклонение статических подключений к серверу журналирования.
VFS_ENTITYИмя CMake-цели VFS, к которой будет подключен сервер журналирования. Необязательный параметр.
VFS_ENTITY_TASK_NAMEИмя программы VFS в системе, к которой динамически будет подключен сервер журналирования. Необязательный параметр. Использование этого параметра исключает возможность использования параметра
VFS_CONN_ID.VFS_CONN_IDИдентификатор статического IPC-соединения к VFS, которое будет использовать сервер журналирования. Необязательный параметр. Исключает возможность использования параметра
VFS_ENTITY_TASK_NAME.
Чтобы добавить программу LogrrServer в решение,
отредактируйте корневой файл с CMake-командами сборки решения или файл с CMake-командами сборки образа решения:
CMakeLists.txt
include (logrr_server/configure)
include (logrr_fs_output_channel/configure)
# ...
set (TASKS
# ...
ClientOne)
# ...
# Добавление сервера, использующего канал вывода FsOutputChannel
create_logrr_server(
LOG_LEVEL DEBUG
OUTPUT_CHANNELS
logrr.FsOutputChannel)
# Добавление сервера и канала вывода в решение
list(APPEND TASKS
logrr_server::default_entity
logrr_fs_output_channel::default_entity)
# Создание статических IPC-каналов для программ-источников с сервером
connect_to_logrr_server (ENTITIES ClientOne)
Добавление и настройка каналов вывода
Команда создания и настройки канала вывода журналов в файлы create_logrr_fs_output_channel() может содержать следующие параметры:
CONFIG_PATHУказывает путь до конфигурационного файла канала вывода.
SERVER_TARGETУказывает сервер журналирования, к которому требуется подключить создаваемый канал вывода.
LOG_DIRУказывает директорию хранения файлов журналов.
VFS_ENTITYИмя CMake-цели VFS, к которой будет подключен сервер журналирования. Не обязательный параметр.
VFS_ENTITY_TASK_NAMEИмя программы VFS в системе, к которой динамически будет подключен сервер журналирования. Не обязательный параметр. Использование этого параметра исключает возможность использования параметра
VFS_CONN_ID.VFS_CONN_IDИдентификатор статического IPC-соединения к VFS, которое будет использовать сервер журналирования. Не обязательный параметр. Исключает возможность использования параметра
VFS_ENTITY_TASK_NAME.
Чтобы добавить канал вывода FsOutputChannel в решение,
отредактируйте корневой файл с CMake-командами сборки решения или файл с CMake-командами сборки инициализирующей программы Einit:
CMakeLists.txt
include (logrr_fs_output_channel/configure)
# Добавление канала вывода FsOutputChannel пишущего в файл
create_logrr_fs_output_channel (
LOG_DIR "/log")
Создание IPC-каналов и разрешение взаимодействия программ
Система сборки обеспечивает автоматическое создание IPC-каналов, необходимых для работы системы журналирования, а также генерирует описание политики безопасности в части, которая разрешает взаимодействие между процессами.
Для создания статического подключения к серверу журналирования, вы можете использовать CMake-команду connect_to_logrr_server (ENTITIES <имена_программ_для_подключения>).