Программа LogrrServer
отправляет сообщения одному или нескольким каналам вывода. Вы можете записывать сообщения журнала в файлы, используя канал вывода FsOutputChannel
.
Добавление и настройка сервера журналирования
Команда создания и настройки сервера журналирования create_logrr_server()
может содержать следующие параметры:
LOG_LEVEL
Устанавливает указанный уровень журналирования. Доступные значения LOG_LEVEL
: CRITICAL
, ERROR
, WARNING
, INFO
, DEBUG
и TRACE
. По умолчанию, сервер журналирования обрабатывает сообщения с уровнем Info.
CONFIG_PATH
Указывает путь до конфигурационного файла сервера журналирования.
RECV_CORE_LOGS
Включает сбор журналов ядра.
WRITE_TO_CORE
Включает передачу журналов в ядро. Не исключает передачу журналов серверу журналирование и далее в канал вывода. Требуется для вывода журналов в UART.
OUTPUT_CHANNELS
Подключает один или несколько указанных каналов вывода к серверу.
DENY_DYNAMIC_CONN_TYPES
Включает отклонение динамических подключений к серверу журналирования.
DENY_STATIC_CONN_TYPES
Включает отклонение статических подключений к серверу журналирования.
Чтобы добавить программу LogrrServer
в решение,
отредактируйте корневой файл с CMake-командами сборки решения или файл с CMake-командами сборки инициализирующей программы Einit
:
CMakeLists.txt
find_package (logrr_server REQUIRED COMPONENTS ENTITY)
# ...
set (TASKS
# ...
${logrr_server_ENTITY})
# ...
# Добавление сервера, использующего канал вывода FsOutputChannel
create_logrr_server(
LOG_LEVEL DEBUG
WRITE_TO_CORE ON
OUTPUT_CHANNELS
logrr.FsOutputChannel)
# Добавление сервера и канала вывода в решение
list(APPEND ENTITIES
logrr_server::default_entity
logrr_fs_output_channel::default_entity)
# Создание статических IPC-каналов для программ-источников с сервером
connect_to_logrr_server (ENTITIES ClientOne)
build_kos_qemu_image (kos-qemu-image
CONNECTIONS_CFG ${INIT_YAML_FILE}
SECURITY_PSL ${SECURITY_PSL_FILE}
PACK_DEPS ON
${TASKS})
Опцию PACK_DEPS
требуется включить при вызове команды build_kos_qemu_image()
или build_kos_hw_image()
для включения автоматической сборки библиотек в образ диска.
Добавление и настройка каналов вывода
Команда создания и настройки канала вывода журналов в файлы create_logrr_fs_output_channel()
может содержать следующие параметры:
CONFIG_PATH
Указывает путь до конфигурационного файла канала вывода.
SERVER_TARGET
Указывает сервер журналирования, к которому требуется подключить создаваемый канал вывода.
APP_LOG_DIR
Указывает директорию хранения файлов журналов для программ. Обязательный параметр.
SYS_LOG_DIR
Указывает директорию хранения файлов журналов системы. Если параметр не задан, файлы журналов системы не сохраняются.
Чтобы добавить канал вывода FsOutputChannel
в решение,
отредактируйте корневой файл с CMake-командами сборки решения или файл с CMake-командами сборки инициализирующей программы Einit
:
CMakeLists.txt
find_package (logrr_fs_output_channel REQUIRED COMPONENTS ENTITY)
# Добавление канала вывода FsOutputChannel пишущего в файл
create_logrr_fs_output_channel (
APP_LOG_DIR "/log/apps"
SYS_LOG_DIR "/log/sys")
Создание IPC-каналов и разрешение взаимодействия программ
Система сборки обеспечивает автоматическое создание IPC-каналов, необходимых для работы системы журналирования, а также генерирует описание политики безопасности в части, которая разрешает взаимодействие между процессами.
Для создания статического подключения к серверу журналирования, вы можете использовать CMake-команду connect_to_logrr_server (ENTITIES <имена_программ_для_подключения>)
.