DEENESPTFRRUARHIKOZHNL

módulo ara::log — Log and Trace

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

Guia do móduloGERADO POR IA

Permite que aplicações adaptativas e serviços de plataforma realizem o registro em log e o rastreamento com alto desempenho e segurança de tipos.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 7b52e43f3040 Procedência Perguntas em aberto (2)
Âncora causal: R25-11 Válido a partir de R25-11 Sintetizado para esta versão de especificação.
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Permite que aplicações adaptativas e serviços de plataforma realizem o registro em log e o rastreamento com alto desempenho e segurança de tipos.

O cluster funcional Log and Trace disponibiliza a infraestrutura central para o registro em log e o rastreamento na AUTOSAR Adaptive Platform AUTOSAR AP SWS LogAndTrace p. 13. Aplicações e daemons de plataforma criam mensagens de log de forma flexível através de fluxos de dados com segurança de tipos ou através de chamadas de função modeladas altamente eficientes com mínimo overhead de verificação [SWS_LOG_00204]. A filtragem de mensagens ocorre por meio de níveis de detalhamento configuráveis por contexto, enquanto o encaminhamento é feito para o backend de DLT, ferramentas ARTI ou para o console local [SWS_LOG_00021].

O cluster funcional Log and Trace (ara::log) constitui a infraestrutura básica universal para registro em log estruturado, saídas de diagnóstico e rastreamento de baixo nível na AUTOSAR Adaptive Platform AUTOSAR AP SWS LogAndTrace p. 13. Cada instância de Logger representa um contexto próprio dentro de um processo e se registra automaticamente no backend central de registro em log no momento de sua criação EXP SWArchitecture p. 57. Além das aplicações, serviços básicos da plataforma como Execution Management, Platform Health Management e Persistency também integram obrigatoriamente a interface Logger para documentação de operação AUTOSAR AP EXP SWArchitecture p. 58.

architektur_einbettung cluster_consumers Consumidores (aplicações e clusters de plataforma) cluster_ara_log Functional Cluster Log and Trace (ara::log) cluster_backends Destinos de saída e de diagnóstico 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

Diagrama de contexto: incorporação do cluster Log and Trace como infraestrutura central de registro em log e tracing para aplicações adaptativas e clusters funcionais de plataforma. Fontes: AUTOSAR AP SWS LogAndTrace p. 13, AUTOSAR AP EXP SWArchitecture p. 58, SWS LogAndTrace p. 21, AUTOSAR AP SWS OperatingSystemInterface p. 21

O módulo diferencia duas formas fundamentais de interação:

  • Registro em log não modelado: Um padrão Fluent Builder gera, através de métodos relacionados ao nível de severidade (como LogInfo() ou LogError()), um objeto temporário LogStream que encadeia com segurança de tipos escalares, cadeias de caracteres, códigos de erro e modificadores de formato, transmitindo o buffer o mais tardar no destrutor ou através de Flush() [SWS_LOG_00067], [SWS_LOG_00039], [SWS_LOG_00262].
  • Registro em log modelado: Através da interface de chamada única Logger::Log(id, args...), são emitidas mensagens declaradas previamente no manifesto, o que permite uma filtragem altamente eficiente sem instanciação de objetos quando o limite está inativo [SWS_LOG_00204], PlatformDesign p. 74.

Sequência do registo de stream não modeladoAplicaçãoLoggerLogStreamLogging-BackendLogInfo()Erzeuge LogStreamLogStream (RVO)operator<<("Statuswert")Preencher bufferoperator<<(42)Preencher bufferaltExpliziter Flush vor Scope-EndeFlush()Transmitir conteúdo do bufferNeuen Strom initiierenSaída do âmbito de validade~LogStream()Transmitir conteúdo do buffer

Diagrama de sequência: fluxo do registro em log por stream não modelado através de LogStream até a transmissão do buffer para o backend de registro em log. Fontes: [SWS_LOG_00067], [SWS_LOG_00040], [SWS_LOG_00039], [SWS_LOG_00262], PlatformDesign p. 74

Para evitar tempo de processamento desnecessário, o nível de notificação ativo pode ser previamente verificado mediante IsEnabled(logLevel) ou ajustado em tempo de execução via SetThreshold(threshold) [SWS_LOG_00070], [SWS_LOG_00255]. Além do encaminhamento para canais DLT através de Ethernet ou para ferramentas ARTI, o console atua como contingência no caso de ausência de configuração de modelo [SWS_LOG_00021], enquanto o status da conexão de diagnóstico externa pode ser monitorado de forma assíncrona através de RegisterConnectionStateHandler [SWS_LOG_00098], [SWS_LOG_00205].

Arquitetura de sistema e papel funcional do Log and Trace

O cluster funcional Log and Trace (ara::log) forma o subsistema transversal central para a captura, o encaminhamento e a filtragem padronizados de mensagens de diagnóstico, tracing e registro em log na AUTOSAR Adaptive Platform AUTOSAR AP SWS LogAndTrace p. 13. A interface de programação Logger disponibiliza a API C++ unificada da plataforma, a qual é consumida como infraestrutura básica tanto por processos específicos da aplicação (Adaptive Applications) quanto pelos clusters funcionais básicos da plataforma AUTOSAR AP EXP SWArchitecture p. 58. Entre esses daemons de sistema consumidores encontram-se o Execution Management para a documentação do ciclo de vida dos processos AUTOSAR AP EXP SWArchitecture p. 50, o Platform Health Management para o monitoramento de estado AUTOSAR AP SWS PlatformHealthManagement p. 16, o Time Synchronization para referências temporais de alta precisão AUTOSAR AP SWS TimeSynchronization p. 17, bem como o Update and Configuration Management durante atualizações de software AUTOSAR AP EXP SWArchitecture p. 141.

Arquiteturalmente, cada instância de logger encapsula um contexto unívoco (Context ID) dentro de um domínio de aplicação ou de processo, sendo que esse contexto se registra de forma autônoma no backend de registro em log no momento da criação e é desregistrado automaticamente no desligamento da aplicação EXP SWArchitecture p. 57. O backend de registro em log encaminha mensagens formatadas para canais de saída projetados (p. ex., destinos de protocolo DLT via Ethernet de acordo com o Machine Manifest) ou para buffers locais, recorrendo-se por padrão ao console do sistema operacional na ausência de um modelo de implantação [SWS_LOG_00021], SWS LogAndTrace p. 21. Além disso, uma arquitetura de adaptador desacoplada permite ao sistema operacional (POSIX/OS) disponibilizar métricas internas do kernel e de escalonamento através da AUTOSAR Run-Time Interface (ARTI) sincronizadas com as mensagens de ara::log AUTOSAR AP SWS OperatingSystemInterface p. 21.

architektur_einbettung cluster_consumers Consumidores (aplicações e clusters de plataforma) cluster_ara_log Functional Cluster Log and Trace (ara::log) cluster_backends Destinos de saída e de diagnóstico 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

Diagrama de contexto: incorporação do cluster Log and Trace como infraestrutura central de registro em log e tracing para aplicações adaptativas e clusters funcionais de plataforma. Fontes: AUTOSAR AP SWS LogAndTrace p. 13, AUTOSAR AP EXP SWArchitecture p. 58, SWS LogAndTrace p. 21, AUTOSAR AP SWS OperatingSystemInterface p. 21

Instanciação, gestão de contexto e controle de limite

A disponibilização de um contexto de logger ocorre através das funções de fábrica ara::log::CreateLogger, uma vez que o construtor padrão da classe Logger está excluído [SWS_LOG_00259]. As aplicações podem instanciar loggers programaticamente, indicando um ID de contexto (ctxId), uma descrição (ctxDescription) e opcionalmente um nível de log padrão [SWS_LOG_00021], [SWS_LOG_00263], ou derivá-los com base em instâncias através de um elemento de modelo mediante ara::core::InstanceSpecifier [SWS_LOG_00256]. O destrutor de Logger realiza o desregistro de forma thread-safe [SWS_LOG_00260].

A granularidade e a prioridade das mensagens são mapeadas hierarquicamente pela enumeração LogLevel: kFatal (erro de sistema irrecuperável), kError (erro com degradação funcional), kWarn (aviso com comportamento nominal em risco), kInfo (informação operacional geral), kDebug (diagnóstico detalhado) e kVerbose (rastreamento minucioso) [SWS_LOG_00018], ManifestSpecification p. 416. Para otimização do tempo de execução, preparações de dados de log computacionalmente intensivas podem ser evitadas verificando previamente, através da consulta IsEnabled(logLevel), se o respectivo nível de log está atualmente ativo no contexto [SWS_LOG_00070]. O limite de notificação ativo de uma instância de logger pode, se necessário, ser ajustado dinamicamente em tempo de execução através de SetThreshold(threshold) [SWS_LOG_00255].

Registro em log não modelado e composição de mensagens baseada em streams

Para mensagens não modeladas, o ara::log disponibiliza uma interface fluente baseada no padrão de projeto Builder PlatformDesign p. 74. O ponto de entrada ocorre através de funções de membro específicas de severidade da instância Logger, nomeadamente LogFatal(), LogError(), LogWarn(), LogInfo(), LogDebug() e LogVerbose(), ou através de WithLevel(logLevel), as quais retornam um objeto LogStream temporário e leve [SWS_LOG_00064], [SWS_LOG_00065], [SWS_LOG_00066], [SWS_LOG_00067], [SWS_LOG_00068], [SWS_LOG_00069], [SWS_LOG_00131]. Em seguida, os dados são anexados ao buffer interno de mensagens de forma encadeada através do operador de inserção de fluxo com segurança de tipos (operator<<) [SWS_LOG_00040].

A interface de stream suporta uma ampla gama de tipos nativos de C++ e AUTOSAR sem erros manuais de formatação:

Metadados e formatações podem ser controlados com precisão: através de WithLocation(file, line), registra-se a origem do código-fonte [SWS_LOG_00129], WithTag(tag) adiciona palavras-chave funcionais [SWS_LOG_00132], e WithPrivacy(value) define um nível de confidencialidade através dos 8 bits inferiores [SWS_LOG_00258]. Argumentos formatados com nome e unidade física são encapsulados através do template auxiliar Arg [SWS_LOG_00201], [SWS_LOG_00203], suportado pelos recursos auxiliares de formatação Dflt, Hex, Dec, Oct, Bin, DecFloat, EngFloat, HexFloat e AutoFloat da enumeração Fmt [SWS_LOG_00206], [SWS_LOG_00208], [SWS_LOG_00209], [SWS_LOG_00211], [SWS_LOG_00217], [SWS_LOG_00225], [SWS_LOG_00226].

No que diz respeito ao ciclo de vida, o LogStream é um objeto move-only: o construtor de cópia e o operador de atribuição por cópia estão excluídos [SWS_LOG_00174], [SWS_LOG_00175], enquanto o construtor de movimento está declarado para suportar Return Value Optimization (RVO) [SWS_LOG_00176]; o operador de atribuição por movimento está excluído [SWS_LOG_00177]. O conteúdo do buffer é enviado automaticamente para o framework de log através do destrutor ~LogStream() ao sair do escopo [SWS_LOG_00262]. Se um objeto LogStream for reutilizado para várias mensagens sucessivas dentro do mesmo escopo, a transmissão do buffer deve ser disparada explicitamente via Flush(), inicializando um novo fluxo de mensagens [SWS_LOG_00039]. Interpretação: supõe-se que, após a chamada de Flush(), a gestão interna de buffer de LogStream esvazie e reinicialize o buffer para operadores de streaming subsequentes no mesmo escopo, sem que seja necessária a destruição da identidade do objeto. Pergunta (aberta)

Sequência do registo de stream não modeladoAplicaçãoLoggerLogStreamLogging-BackendLogInfo()Erzeuge LogStreamLogStream (RVO)operator<<("Statuswert")Preencher bufferoperator<<(42)Preencher bufferaltExpliziter Flush vor Scope-EndeFlush()Transmitir conteúdo do bufferNeuen Strom initiierenSaída do âmbito de validade~LogStream()Transmitir conteúdo do buffer

Diagrama de sequência: fluxo do registro em log por stream não modelado através de LogStream até a transmissão do buffer para o backend de registro em log. Fontes: [SWS_LOG_00067], [SWS_LOG_00040], [SWS_LOG_00039], [SWS_LOG_00262], PlatformDesign p. 74

Registro em log modelado e ramificação para tracing ARTI

Ao contrário da construção progressiva de mensagens não modeladas, o ara::log define uma interface de chamada única altamente eficiente através de Logger::Log(id, args...) e Logger::LogWith(attrs, msgId, params...) para mensagens modeladas no manifesto [SWS_LOG_00204], [SWS_LOG_00133]. Todos os argumentos são passados em uma única chamada de função, o que reduz ao mínimo o overhead de tempo de execução no caso de mensagens suprimidas: diretamente após a passagem de parâmetros, uma única condição verifica o limite e retorna imediatamente se o nível de log configurado não for atingido PlatformDesign p. 74.

Dentro da chamada de Log, o fluxo de processamento se divide: além do fluxo clássico de serialização DLT (buildDltMessage(), filtragem via máscara de log e entrega ao destino), existe um fluxo dedicado para rastreamento de baixo nível através da AUTOSAR Run-Time Interface (ARTI) mediante TraceArti(msg_id, params...) [SWS_LOG_20000], AUTOSAR AP SWS LogAndTrace p. 42. Provavelmente, o encaminhamento para TraceArti é resolvido em tempo de compilação por meio de especializações estáticas de template, a fim de garantir o overhead de tempo de execução mínimo exigido. Pergunta (aberta) O backend ARTI filtra segundo critérios próprios com base no MsgId e ignora completamente o buffer DLT, permitindo um tracing crítico em tempo real sem interferir no subsistema de log regular AUTOSAR AP SWS LogAndTrace p. 42.

modelliertes_logging start Logger::Log(msg_id, params) check_threshold Schwellwert erreicht? (msg.level >= threshold) start->check_threshold discard Descartar / retorno imediato 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 Verificação de filtro (msg_id & logmask) build_dlt->check_mask send_sink sendDltMessageToSink() check_mask->send_sink Passiert check_mask->end_node Gefiltert send_sink->end_node

Diagrama de atividades: fluxo de controle e filtragem no envio de mensagens modeladas entre o backend de DLT e o tracing ARTI. Fontes: [SWS_LOG_00204], [SWS_LOG_20000], AUTOSAR AP SWS LogAndTrace p. 42, PlatformDesign p. 74

Monitoramento de conexão de clientes e integração de diagnóstico

O Log and Trace não apenas disponibiliza canais de saída locais, mas também monitora o estado de clientes de diagnóstico externos (p. ex., DLT Viewer via Ethernet), representado pela enumeração ClientState: kUnknown (-1, backend de DLT ainda não pronto), kNotConnected (nenhum cliente remoto detectado) e kConnected (conexão com cliente externo ativa) [SWS_LOG_00098]. Isso permite que as aplicações vinculem um tracing dispendioso à presença física de uma ferramenta de análise.

Para o rastreamento assíncrono de estados, as aplicações registam uma função de retorno através de ara::log::RegisterConnectionStateHandler recorrendo ao aliasing de funções ConnectionStateHandler = std::function<void(ClientState)> [SWS_LOG_00205], [SWS_LOG_00265]. O framework de logging suporta exatamente um registo de handler ativo: uma nova chamada a RegisterConnectionStateHandler sobrescreve sem restrições um callback instalado anteriormente [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

Diagrama de estados: transições de estado do cliente externo de acordo com o ClientState. Fontes: [SWS_LOG_00098], [SWS_LOG_00205], [SWS_LOG_00265]

Comportamento em caso de erro

O módulo impõe segurança funcional e robustez primariamente através de verificações estáticas de tipos em tempo de compilação e de garantias estritas de exceção:

  • Erros em tempo de compilação (ill-formed): A chamada a Logger::Log(id, args...) é inválida (ill-formed) se os argumentos passados não coincidirem exatamente com a assinatura da mensagem declarada no manifesto [SWS_LOG_00204]. Do mesmo modo, a utilização de Arg() com tipos que não sejam aritméticos, booleanos ou convertíveis para StringView ou Span<const Byte> resulta na interrupção da compilação [SWS_LOG_00201]. A função WithPrivacy(value) impõe ainda que o tipo do parâmetro seja um tipo inteiro ou uma enumeração [SWS_LOG_00258].
  • Proibições de construção e atribuição: Para excluir duplicações inadvertidas de buffers ou conflitos de recursos, o construtor de cópia e o operador de atribuição por cópia de LogStream, bem como o operador de atribuição por movimento, estão explicitamente eliminados [SWS_LOG_00174], [SWS_LOG_00175], [SWS_LOG_00177].
  • Integridade em tempo de execução na instanciação: Se a resolução do ara::core::InstanceSpecifier no modelo de máquina ou de aplicação falhar em CreateLogger(is) ou se este não referenciar um elemento de modelo válido, o sistema reporta um InstanceSpecifierMappingIntegrityViolation [SWS_LOG_00256].
  • Recetores de fallback tolerantes a falhas: Se em tempo de execução não estiver disponível nenhum modelo de deployment ou ligação de rede ao serviço DLT, o framework comuta automaticamente para a consola local como recetor de saída padrão, garantindo que nenhuma informação de diagnóstico seja perdida silenciosamente [SWS_LOG_00021], [SWS_LOG_00263]. Ao emitir um core::ErrorCode na consola, a representação é feita através do nome de domínio e do valor numérico de erro [SWS_LOG_00124].
  • Segurança de exceções: Todos os operadores de streaming, consultas de limiar e o destrutor ~LogStream() estão declarados como noexcept, para assegurar que o registo de log nunca propague exceções não tratadas para blocos funcionais chamadores [SWS_LOG_00040], [SWS_LOG_00070], [SWS_LOG_00262]; em contrapartida, o destrutor ~Logger() formalmente não está especificado como noexcept [SWS_LOG_00260].

Evidências mais detalhadas

A arquitetura e o comportamento do módulo Log and Trace estão fundamentados nas seguintes referências da especificação AUTOSAR:

Este guia de módulo foi gerado de forma automatizada com base nas especificações normativas e nas secções de documentos associadas do AUTOSAR Adaptive R25-11.

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

apext::log

TraceArti função

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 classe

Wrapper type for holding a payload argument with its attributes

Format classe

A type holding a formatting hint

Logger classe

Represents a logger context

LogStream classe

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

Entrada/saída << 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 função

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 função

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

constexpr Format AutoFloat (std::uint16_t precision=6) noexcept;
AutoFloatMax função

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 função 2

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

Sobrecargas Bin 2
constexpr Format Bin () noexcept; SWS_LOG_00215
constexpr Format Bin (std::uint16_t precision) noexcept; SWS_LOG_00216
CreateLogger função 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.

Sobrecargas 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 função 2

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

Sobrecargas Dec 2
constexpr Format Dec () noexcept; SWS_LOG_00211
constexpr Format Dec (std::uint16_t precision) noexcept; SWS_LOG_00212
DecFloat função

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

constexpr Format DecFloat (std::uint16_t precision=6) noexcept;
DecFloatMax função

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 função

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

constexpr Format Dflt () noexcept;
EngFloat função

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

constexpr Format EngFloat (std::uint16_t precision=6) noexcept;
EngFloatMax função

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 função 2

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

Sobrecargas Hex 2
constexpr Format Hex () noexcept; SWS_LOG_00209
constexpr Format Hex (std::uint16_t precision) noexcept; SWS_LOG_00210
HexFloat função

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

constexpr Format HexFloat (std::uint16_t precision) noexcept;
HexFloatMax função

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 função 2

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

Sobrecargas 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 enumeração

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

enum class ClientState : std::int8_t {...};
Fmt enumeração

Format specifiers for log message arguments .

enum class Fmt : std::uint16_t {...};
LogLevel enumeração

List of possible severity levels .

enum class LogLevel : std::uint8_t {...};

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

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

Namespaces

Diagrama de classes UML do módulo

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