DEENESPTFRRUARHIKOZHNL

модуль ara::log — Log and Trace

Spezifikation: AUTOSAR_AP_SWS_LogAndTrace.pdf (R25-11) · 75 API-Records

Руководство по модулюСОЗДАНО ИИ

Обеспечивает адаптивным приложениям и сервисам платформы высокопроизводительное, типобезопасное протоколирование и трассировку.
СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 7b52e43f3040 Происхождение Открытые вопросы (2)
Причинный якорь: R25-11 Действует с R25-11 Заново синтезировано для этой версии спецификации.
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Обеспечивает адаптивным приложениям и сервисам платформы высокопроизводительное, типобезопасное протоколирование и трассировку.

Функциональный кластер Log and Trace предоставляет центральную инфраструктуру для протоколирования и трассировки на платформе AUTOSAR Adaptive Platform AUTOSAR AP SWS LogAndTrace с. 13. Приложения и сервисные демоны платформы гибко создают сообщения журнала через типобезопасные потоки данных или через высокоэффективные смоделированные вызовы функций с минимальными накладными расходами на проверку [SWS_LOG_00204]. Фильтрация сообщений выполняется по настраиваемым уровням детализации для каждого контекста, в то время как пересылка осуществляется в бэкенд DLT, инструменты ARTI или в локальную консоль [SWS_LOG_00021].

Функциональный кластер Log and Trace (ara::log) представляет собой универсальную базовую инфраструктуру для структурированного протоколирования, диагностического вывода и низкоуровневой трассировки в AUTOSAR Adaptive Platform AUTOSAR AP SWS LogAndTrace с. 13. Каждый экземпляр Logger представляет собственный контекст внутри процесса и при своем создании автоматически регистрируется в центральном бэкенде логирования EXP SWArchitecture с. 57. Помимо приложений, базовые сервисы платформы, такие как Execution Management, Platform Health Management и Persistency, также обязательно подключают интерфейс Logger для документирования работы AUTOSAR AP EXP SWArchitecture с. 58.

architektur_einbettung cluster_consumers Потребители (приложения и кластеры платформы) cluster_ara_log Functional Cluster Log and Trace (ara::log) cluster_backends Приемники вывода и диагностики app Adaptive Application logger Logger app->logger CreateLogger / Log* em Execution Management em->logger Logger-API phm Platform Health Management phm->logger Logger-API pers Persistency pers->logger Logger-API tsync Time Synchronization tsync->logger Logger-API ucm Update & Configuration Management ucm->logger Logger-API logstream LogStream logger->logstream Fluent Builder backend_adapter Logging-Backend / DLT-Engine logger->backend_adapter Log(MsgId) / Flush() logstream->backend_adapter ~LogStream() / Flush() console Konsole (Default-Fallback) backend_adapter->console Fallback dlt_sink DLT Log Sink (Ethernet) backend_adapter->dlt_sink DltLogSink arti ARTI / Trace-Werkzeuge backend_adapter->arti TraceArti

Контекстная диаграмма: интеграция кластера Log and Trace в качестве центральной инфраструктуры протоколирования и трассировки для адаптивных приложений и функциональных кластеров платформы. Источники: AUTOSAR AP SWS LogAndTrace с. 13, AUTOSAR AP EXP SWArchitecture с. 58, SWS LogAndTrace с. 21, AUTOSAR AP SWS OperatingSystemInterface с. 21

Модуль различает две основные формы взаимодействия:

  • Немоделированное протоколирование: шаблон Fluent Builder создает с помощью привязанных к уровню важности методов (таких как LogInfo() или LogError()) временный объект LogStream, который типобезопасно объединяет в цепочку скалярные типы, строки, коды ошибок и модификаторы формата и передает буфер не позднее чем в деструкторе или через Flush() [SWS_LOG_00067], [SWS_LOG_00039], [SWS_LOG_00262].
  • Моделированное протоколирование: через интерфейс одиночного вызова Logger::Log(id, args...) отправляются сообщения, предварительно объявленные в манифесте, что при неактивном пороговом значении обеспечивает высокоэффективную фильтрацию без создания экземпляра объекта [SWS_LOG_00204], PlatformDesign с. 74.

Последовательность немоделированного потокового логированияПриложениеLoggerLogStreamLogging-BackendLogInfo()Erzeuge LogStreamLogStream (RVO)operator<<("Statuswert")Заполнить буферoperator<<(42)Заполнить буферaltExpliziter Flush vor Scope-EndeFlush()Передать содержимое буфераNeuen Strom initiierenВыход из области видимости~LogStream()Передать содержимое буфера

Диаграмма последовательности: процесс немоделированного потокового протоколирования через LogStream вплоть до передачи буфера в бэкенд логирования. Источники: [SWS_LOG_00067], [SWS_LOG_00040], [SWS_LOG_00039], [SWS_LOG_00262], PlatformDesign с. 74

Во избежание лишнего процессорного времени активный уровень сообщений можно предварительно проверить с помощью IsEnabled(logLevel) или настроить во время выполнения через SetThreshold(threshold) [SWS_LOG_00070], [SWS_LOG_00255]. Помимо пересылки в каналы DLT через Ethernet или в инструменты ARTI, при отсутствии конфигурации модели в качестве аварийного варианта выступает консоль [SWS_LOG_00021], в то время как статус внешнего диагностического соединения может асинхронно контролироваться через RegisterConnectionStateHandler [SWS_LOG_00098], [SWS_LOG_00205].

Архитектура системы и функциональная роль Log and Trace

Функциональный кластер Log and Trace (ara::log) образует центральную сквозную подсистему для стандартизированного сбора, пересылки и фильтрации диагностических сообщений, трассировки и протоколирования на платформе AUTOSAR Adaptive Platform AUTOSAR AP SWS LogAndTrace с. 13. Программный интерфейс Logger предоставляет унифицированный C++-API платформы, который используется как прикладными процессами (Adaptive Applications), так и базовыми функциональными кластерами платформы в качестве базовой инфраструктуры AUTOSAR AP EXP SWArchitecture с. 58. К этим использующим инфраструктуру системным демонам относятся, в частности, Execution Management для документирования жизненного цикла процессов AUTOSAR AP EXP SWArchitecture с. 50, Platform Health Management для мониторинга состояния AUTOSAR AP SWS PlatformHealthManagement с. 16, Time Synchronization для высокоточных временных привязок AUTOSAR AP SWS TimeSynchronization с. 17, а также Update and Configuration Management во время обновлений программного обеспечения AUTOSAR AP EXP SWArchitecture с. 141.

С точки зрения архитектуры каждый экземпляр логгера инкапсулирует уникальный контекст (Context ID) в пределах области приложения или процесса, при этом данный контекст автоматически регистрируется в бэкенде логирования при создании и автоматически разрегистрируется при завершении работы приложения EXP SWArchitecture с. 57. Бэкенд логирования пересылает отформатированные сообщения в сконфигурированные каналы вывода (например, приемники протокола DLT через Ethernet согласно манифесту машины) или в локальные буферы, при этом при отсутствии модели развертывания по умолчанию задействуется консоль операционной системы [SWS_LOG_00021], SWS LogAndTrace с. 21. Кроме того, декомпозированная архитектура адаптеров позволяет операционной системе (POSIX/OS) предоставлять внутренние метрики ядра и планирования через AUTOSAR Run-Time Interface (ARTI) синхронизированно с сообщениями ara::log AUTOSAR AP SWS OperatingSystemInterface с. 21.

architektur_einbettung cluster_consumers Потребители (приложения и кластеры платформы) cluster_ara_log Functional Cluster Log and Trace (ara::log) cluster_backends Приемники вывода и диагностики app Adaptive Application logger Logger app->logger CreateLogger / Log* em Execution Management em->logger Logger-API phm Platform Health Management phm->logger Logger-API pers Persistency pers->logger Logger-API tsync Time Synchronization tsync->logger Logger-API ucm Update & Configuration Management ucm->logger Logger-API logstream LogStream logger->logstream Fluent Builder backend_adapter Logging-Backend / DLT-Engine logger->backend_adapter Log(MsgId) / Flush() logstream->backend_adapter ~LogStream() / Flush() console Konsole (Default-Fallback) backend_adapter->console Fallback dlt_sink DLT Log Sink (Ethernet) backend_adapter->dlt_sink DltLogSink arti ARTI / Trace-Werkzeuge backend_adapter->arti TraceArti

Контекстная диаграмма: интеграция кластера Log and Trace в качестве центральной инфраструктуры протоколирования и трассировки для адаптивных приложений и функциональных кластеров платформы. Источники: AUTOSAR AP SWS LogAndTrace с. 13, AUTOSAR AP EXP SWArchitecture с. 58, SWS LogAndTrace с. 21, AUTOSAR AP SWS OperatingSystemInterface с. 21

Инстанцирование, управление контекстами и контроль пороговых значений

Предоставление контекста логгера осуществляется через фабричные функции ara::log::CreateLogger, поскольку конструктор по умолчанию класса Logger удален [SWS_LOG_00259]. Приложения могут создавать экземпляры логгеров либо программно с указанием ID контекста (ctxId), описания (ctxDescription) и опционально стандартного уровня логирования [SWS_LOG_00021], [SWS_LOG_00263], либо инстанцировать на основе модели через элемент модели с помощью ara::core::InstanceSpecifier [SWS_LOG_00256]. Деструктор Logger выполняет дерегистрацию потокобезопасным образом [SWS_LOG_00260].

Детализация и приоритет сообщений иерархически отображаются перечислением LogLevel: kFatal (неустранимая системная ошибка), kError (ошибка с нарушением функциональности), kWarn (предупреждение при риске нарушения требуемого поведения), kInfo (общая эксплуатационная информация), kDebug (подробная диагностика) и kVerbose (детальная трассировка) [SWS_LOG_00018], ManifestSpecification с. 416. Для оптимизации времени выполнения можно избежать ресурсоемкой подготовки данных протокола, предварительно проверив с помощью запроса IsEnabled(logLevel), активен ли в данный момент соответствующий уровень логирования для этого контекста [SWS_LOG_00070]. Активное пороговое значение сообщений экземпляра логгера при необходимости можно динамически настраивать во время выполнения через SetThreshold(threshold) [SWS_LOG_00255].

Немоделированное протоколирование и потоковая композиция сообщений

Для немоделированных сообщений ara::log предоставляет интерфейс Fluent Interface, основанный на шаблоне проектирования Builder PlatformDesign с. 74. Точкой входа служат функции-члены экземпляра Logger, специфичные для уровня важности, а именно LogFatal(), LogError(), LogWarn(), LogInfo(), LogDebug() и LogVerbose(), или WithLevel(logLevel), которые возвращают временный легковесный объект LogStream [SWS_LOG_00064], [SWS_LOG_00065], [SWS_LOG_00066], [SWS_LOG_00067], [SWS_LOG_00068], [SWS_LOG_00069], [SWS_LOG_00131]. Затем данные последовательно добавляются во внутренний буфер сообщений через типобезопасный оператор вставки в поток (operator<<) [SWS_LOG_00040].

Потоковый интерфейс поддерживает широкий спектр нативных типов C++ и AUTOSAR без ошибок ручного форматирования:

Метаданными и форматированием можно управлять с высокой точностью: через WithLocation(file, line) регистрируется источник в исходном коде [SWS_LOG_00129], WithTag(tag) добавляет функциональные ключевые слова [SWS_LOG_00132], а WithPrivacy(value) задает уровень конфиденциальности через младшие 8 бит [SWS_LOG_00258]. Форматированные аргументы с именем и физической единицей измерения инкапсулируются через вспомогательный шаблон Arg [SWS_LOG_00201], [SWS_LOG_00203], поддерживаемый средствами форматирования Dflt, Hex, Dec, Oct, Bin, DecFloat, EngFloat, HexFloat и AutoFloat из перечисления Fmt [SWS_LOG_00206], [SWS_LOG_00208], [SWS_LOG_00209], [SWS_LOG_00211], [SWS_LOG_00217], [SWS_LOG_00225], [SWS_LOG_00226].

С точки зрения жизненного цикла LogStream является объектом только для перемещения (move-only): конструктор копирования и оператор присваивания с копированием удалены [SWS_LOG_00174], [SWS_LOG_00175], тогда как конструктор перемещения объявлен для поддержки оптимизации возвращаемого значения (RVO) [SWS_LOG_00176]; оператор присваивания с перемещением удален [SWS_LOG_00177]. Содержимое буфера автоматически отправляется в каркас логирования через деструктор ~LogStream() при выходе из области видимости [SWS_LOG_00262]. Если объект LogStream должен использоваться в пределах одной и той же области видимости для нескольких сообщений подряд, передачу буфера необходимо явно запускать через Flush(), благодаря чему инициализируется новый поток сообщений [SWS_LOG_00039]. Интерпретация: внутреннее управление буфером LogStream после вызова Flush(), вероятно, очищает и повторно инициализирует буфер для последующих потоковых операторов в той же области видимости без необходимости разрушения идентичности объекта. Вопрос (открытый)

Последовательность немоделированного потокового логированияПриложениеLoggerLogStreamLogging-BackendLogInfo()Erzeuge LogStreamLogStream (RVO)operator<<("Statuswert")Заполнить буферoperator<<(42)Заполнить буферaltExpliziter Flush vor Scope-EndeFlush()Передать содержимое буфераNeuen Strom initiierenВыход из области видимости~LogStream()Передать содержимое буфера

Диаграмма последовательности: процесс немоделированного потокового протоколирования через LogStream вплоть до передачи буфера в бэкенд логирования. Источники: [SWS_LOG_00067], [SWS_LOG_00040], [SWS_LOG_00039], [SWS_LOG_00262], PlatformDesign с. 74

Моделированное протоколирование и ветвление в сторону трассировки ARTI

В отличие от поэтапного формирования немоделированных сообщений, ara::log определяет для смоделированных в манифесте сообщений высокоэффективный интерфейс одиночного вызова через Logger::Log(id, args...), а также Logger::LogWith(attrs, msgId, params...) [SWS_LOG_00204], [SWS_LOG_00133]. Все аргументы передаются за один вызов функции, благодаря чему накладные расходы времени выполнения в случае подавленных сообщений сводятся к минимуму: сразу после передачи параметров одно условие проверяет пороговое значение и немедленно возвращает управление, если сконфигурированный уровень логирования не достигнут PlatformDesign с. 74.

Внутри вызова Log путь обработки разделяется: наряду с классическим путем сериализации DLT (buildDltMessage(), фильтрация через маску логирования и передача в приемник) существует выделенный путь для низкоуровневой трассировки через AUTOSAR Run-Time Interface (ARTI) с помощью TraceArti(msg_id, params...) [SWS_LOG_20000], AUTOSAR AP SWS LogAndTrace с. 42. Предположительно, перенаправление в TraceArti разрешается через статические специализации шаблонов во время компиляции, чтобы гарантировать требуемые минимальные накладные расходы времени выполнения. Вопрос (открытый) Бэкенд ARTI фильтрует по собственным критериям на основе MsgId и полностью обходит буферизацию DLT, что обеспечивает критически важную для реального времени трассировку без нарушения работы регулярной подсистемы логирования AUTOSAR AP SWS LogAndTrace с. 42.

modelliertes_logging start Logger::Log(msg_id, params) check_threshold Schwellwert erreicht? (msg.level >= threshold) start->check_threshold discard Отклонение / немедленный возврат check_threshold->discard Nein check_trace TraceSwitch aktiv? check_threshold->check_trace Ja end_node Ende discard->end_node trace_arti TraceArti(msg_id, params) check_trace->trace_arti Ja build_dlt buildDltMessage() check_trace->build_dlt Nein trace_arti->end_node check_mask Проверка фильтра (msg_id & logmask) build_dlt->check_mask send_sink sendDltMessageToSink() check_mask->send_sink Passiert check_mask->end_node Gefiltert send_sink->end_node

Диаграмма деятельности: поток управления и фильтрации при отправке смоделированных сообщений между бэкендом DLT и трассировкой ARTI. Источники: [SWS_LOG_00204], [SWS_LOG_20000], AUTOSAR AP SWS LogAndTrace с. 42, PlatformDesign с. 74

Мониторинг клиентских соединений и подключение диагностики

Log and Trace не только предоставляет локальные каналы вывода, но и отслеживает состояние внешних диагностических клиентов (например, DLT-Viewer через Ethernet), представленное перечислением ClientState: kUnknown (-1, бэкенд DLT еще не готов), kNotConnected (удаленный клиент не обнаружен) и kConnected (соединение с внешним клиентом активно) [SWS_LOG_00098]. Это позволяет приложениям привязывать ресурсоемкую трассировку к физическому присутствию инструмента анализа.

Для асинхронного отслеживания состояния приложения регистрируют функцию обратного вызова через ara::log::RegisterConnectionStateHandler с использованием псевдонима функции ConnectionStateHandler = std::function<void(ClientState)> [SWS_LOG_00205], [SWS_LOG_00265]. При этом каркас логирования поддерживает ровно одну активную регистрацию обработчика: повторный вызов RegisterConnectionStateHandler полностью перезаписывает ранее установленный callback [SWS_LOG_00205].

verbindungszustand unknown ClientState::kUnknown (DLT-Backend startet) not_connected ClientState::kNotConnected (Kein Remote-Client) unknown->not_connected Backend initialisiert connected ClientState::kConnected (Remote-Client verbunden) unknown->connected Client sofort erkannt not_connected->connected Client verbindet sich connected->not_connected Client-Verbindung getrennt

Диаграмма состояний: переходы состояний внешнего клиента согласно ClientState. Источники: [SWS_LOG_00098], [SWS_LOG_00205], [SWS_LOG_00265]

Поведение при ошибке

Модуль обеспечивает функциональную безопасность и надежность прежде всего за счет статических проверок типов во время компиляции и строгих гарантий безопасности исключений:

  • Ошибки времени компиляции (ill-formed): вызов Logger::Log(id, args...) является недопустимым (ill-formed), если переданные аргументы не совпадают точно с сигнатурой сообщения, объявленной в манифесте [SWS_LOG_00204]. Точно так же использование Arg() с типами, которые не являются ни арифметическими, ни логическими, ни преобразуемыми в StringView или Span<const Byte>, приводит к сбою компиляции [SWS_LOG_00201]. Функция WithPrivacy(value) дополнительно требует, чтобы тип параметра был целочисленным типом или перечислением [SWS_LOG_00258].
  • Запреты на конструирование и присваивание: во избежание непреднамеренного дублирования буферов или конфликтов ресурсов конструктор копирования и оператор присваивания с копированием LogStream, а также оператор присваивания с перемещением явно удалены [SWS_LOG_00174], [SWS_LOG_00175], [SWS_LOG_00177].
  • Целостность во время выполнения при инстанцировании: если разрешение ara::core::InstanceSpecifier в модели машины или приложения при CreateLogger(is) завершается неудачно или он не указывает на допустимый элемент модели, система сообщает об InstanceSpecifierMappingIntegrityViolation [SWS_LOG_00256].
  • Отказоустойчивые резервные приемники: если во время выполнения отсутствует модель развертывания или сетевое подключение к сервису DLT, каркас автоматически переключается на локальную консоль в качестве стандартного приемника вывода, благодаря чему диагностическая информация не теряется незаметно [SWS_LOG_00021], [SWS_LOG_00263]. При выводе core::ErrorCode на консоль отображение осуществляется через имя домена и числовое значение ошибки [SWS_LOG_00124].
  • Безопасность исключений: все потоковые операторы, запросы пороговых значений и деструктор ~LogStream() объявлены как noexcept, чтобы гарантировать, что протоколирование ни в какой момент времени не передаст необработанные исключения в вызывающие функциональные блоки [SWS_LOG_00040], [SWS_LOG_00070], [SWS_LOG_00262]; деструктор ~Logger(), напротив, формально не специфицирован как noexcept [SWS_LOG_00260].

Дальнейшие подробные доказательства

Архитектура и поведение модуля Log and Trace закреплены в следующих разделах спецификации AUTOSAR:

  • Спецификация интерфейсов кластера: нормативные C++-сигнатуры, потоковые операторы и методы контекста Logger и LogStream определены в спецификации Log and Trace [SWS_LOG_00021], [SWS_LOG_00039], [SWS_LOG_00064], [SWS_LOG_00204], AUTOSAR AP SWS LogAndTrace с. 13.
  • Дизайн платформы и производительность: архитектурное сравнение шаблона Builder и высокоэффективного одиночного вызова для смоделированных сообщений изложено в Platform Design PlatformDesign с. 74.
  • Общеплатформенные зависимости: обязательное использование интерфейса Logger функциональными кластерами платформы регламентируется в соответствующих архитектурных документах AUTOSAR AP EXP SWArchitecture с. 58, AUTOSAR AP EXP SWArchitecture с. 50, AUTOSAR AP SWS PlatformHealthManagement с. 16.
  • Модель манифеста и развертывания: конфигурация каналов логирования DLT, привязок процессов и конечных точек машины определена в спецификации манифеста SWS LogAndTrace с. 21, ManifestSpecification с. 416.
  • Адаптеры операционной системы и ARTI: подключение нативных буферов трассировки операционной системы к ara::log и низкоуровневый сбор данных через TraceArti специфицированы в архитектуре OSI и трассировки [SWS_LOG_20000], AUTOSAR AP SWS OperatingSystemInterface с. 21, AUTOSAR AP SWS LogAndTrace с. 42.

Данное руководство по модулю было автоматически сгенерировано на основе нормативных спецификаций и соответствующих разделов документации AUTOSAR Adaptive R25-11.

function: 65 enumeration: 3 class: 3 variable: 2 type alias: 1 struct: 1

apext::log

TraceArti функция

Handles a modeled message, specific to the used trace tool. This function is only called internally by the Logger framework when switching between Log and TraceArti. It represents the interface to trace tools. The runtime overhead of this function shall be kept as minimal as possible, e.g. by using specializations based on the MsgId.

template <typename MsgId, typename... Params> void TraceArti (const MsgId &msg_id, const Params &... params) noexcept;

ara::log

Argument класс

Wrapper type for holding a payload argument with its attributes

Format класс

A type holding a formatting hint

Logger класс

Represents a logger context

LogStream класс

Represents a Log message, allowing stream operators to be used for appending data

Ввод/вывод << 5
LogStream & operator<< (LogStream &out, LogLevel value) noexcept; SWS_LOG_00063
LogStream & operator<< (LogStream &out, const core::ErrorCode &ec) noexcept; SWS_LOG_00124
template <typename Rep, typename Period> LogStream & operator<< (LogStream &out, const std::chrono::duration< Rep, Period > &value) noexcept; SWS_LOG_00125
LogStream & operator<< (LogStream &out, const ara::core::Instance Specifier &value) noexcept; SWS_LOG_00126
LogStream & operator<< (LogStream &out, const void *value) noexcept; SWS_LOG_00127
Arg функция

Create a wrapper object for the given arguments. Calling this function shall be ill-formed if any of these conditions are met: • T is not an arithmetic type and not "bool" and not convertible to "ara::core::StringView" and not convertible to "ara::core::Span<const ara::core::Byte>" • T is convertible to "ara::core::StringView" or convertible to "ara::core::Span<const ara::core::Byte>" or "bool", and "unit" is not "nullptr"

template <typename T> Argument< T > Arg (T &&arg, const char *name=nullptr, const char *unit=nullptr, Format format=Dflt()) noexcept;
AutoFloat функция

Create a Format instance with Fmt::kAutoFloat formatting hint and given precision.

constexpr Format AutoFloat (std::uint16_t precision=6) noexcept;
AutoFloatMax функция

Create a Format instance with Fmt::kAutoFloat formatting hint and a precision that is sufficient for full round-trip safety. .

constexpr Format AutoFloatMax () noexcept;
Bin функция 2

Create a Format instance with Fmt::kBin formatting hint and default precision. .

Перегрузки Bin 2
constexpr Format Bin () noexcept; SWS_LOG_00215
constexpr Format Bin (std::uint16_t precision) noexcept; SWS_LOG_00216
CreateLogger функция 3

Creates a Logger object, holding the context which is registered in the Logging framework. If no model is available the sink shall be the console per default.

Перегрузки CreateLogger 3
Logger & CreateLogger (ara::core::StringView ctxId, ara::core::String View ctxDescription, LogLevel ctxDefLogLevel) noexcept; SWS_LOG_00021
Logger & CreateLogger (const ara::core::InstanceSpecifier &is) noexcept; SWS_LOG_00256
Logger & CreateLogger (ara::core::StringView ctxId, ara::core::String View ctxDescription) noexcept; SWS_LOG_00263
Dec функция 2

Create a Format instance with Fmt::kDec formatting hint and default precision. .

Перегрузки Dec 2
constexpr Format Dec () noexcept; SWS_LOG_00211
constexpr Format Dec (std::uint16_t precision) noexcept; SWS_LOG_00212
DecFloat функция

Create a Format instance with Fmt::kDecFloat formatting hint and given precision.

constexpr Format DecFloat (std::uint16_t precision=6) noexcept;
DecFloatMax функция

Create a Format instance with Fmt::kDecFloat formatting hint and a precision that is sufficient for full round-trip safety. .

constexpr Format DecFloatMax () noexcept;
Dflt функция

Create a Format instance with Fmt::kDefault formatting hint. .

constexpr Format Dflt () noexcept;
EngFloat функция

Create a Format instance with Fmt::kEngFloat formatting hint and given precision.

constexpr Format EngFloat (std::uint16_t precision=6) noexcept;
EngFloatMax функция

Create a Format instance with Fmt::kEngFloat formatting hint and a precision that is sufficient for full round-trip safety. .

constexpr Format EngFloatMax () noexcept;
Hex функция 2

Create a Format instance with Fmt::kHex formatting hint and default precision. .

Перегрузки Hex 2
constexpr Format Hex () noexcept; SWS_LOG_00209
constexpr Format Hex (std::uint16_t precision) noexcept; SWS_LOG_00210
HexFloat функция

Create a Format instance with Fmt::kHexFloat formatting hint and given precision.

constexpr Format HexFloat (std::uint16_t precision) noexcept;
HexFloatMax функция

Create a Format instance with Fmt::kHexFloat formatting hint and a precision that is sufficient for full round-trip safety. .

constexpr Format HexFloatMax () noexcept;
Oct функция 2

Create a Format instance with Fmt::kOct formatting hint and default precision. .

Перегрузки Oct 2
constexpr Format Oct () noexcept; SWS_LOG_00213
constexpr Format Oct (std::uint16_t precision) noexcept; SWS_LOG_00214

Register a callback to be invoked whenever the connection state changes. Only a single function can be installed this way; if a callback was already registered before, only the newly registered one is used henceforth.

void RegisterConnectionStateHandler (ConnectionStateHandler callback) noexcept;
ClientState перечисление

Client state representing the connection state of an external client. .

enum class ClientState : std::int8_t {...};
Fmt перечисление

Format specifiers for log message arguments .

enum class Fmt : std::uint16_t {...};
LogLevel перечисление

List of possible severity levels .

enum class LogLevel : std::uint8_t {...};
ConnectionStateHandler псевдоним типа

Callback function type to be registered in ara::log::RegisterConnectionStateHandler.

using ConnectionStateHandler = std::function<void(ClientState)>;

Пространства имён

UML-диаграмма классов модуля

Abgerundete Rahmen = Namespaces; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = modulfremde bzw. externe Basisklassen. Klicken öffnet die Klassenseite.

G cluster_1 ara::log nara__log__Argument642 Argument nara__log__Format351 «struct» Format nara__log__Logger529 Logger nara__log__LogStream884 LogStream