DEENESPTFRRUARHIKOZHNL

module ara::log — Log and Trace

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

ModulegidsAI-GEGENEREERD

Maakt voor adaptieve applicaties en platformdiensten performante, typeveilige logging en tracering mogelijk.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 7b52e43f3040 Herkomst Open vragen (2)
Causaal anker: R25-11 Geldig vanaf R25-11 Nieuw gesynthetiseerd voor deze specificatiestand.
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Maakt voor adaptieve applicaties en platformdiensten performante, typeveilige logging en tracering mogelijk.

Het functionele cluster Log and Trace stelt de centrale infrastructuur voor logging en tracering op het AUTOSAR Adaptive Platform beschikbaar AUTOSAR AP SWS LogAndTrace p. 13. Applicaties en platform-daemons maken logberichten flexibel aan via typeveilige datastromen of via uiterst efficiënte gemodelleerde functieaanroepen met minimale controle-overhead [SWS_LOG_00204]. De berichtfiltering vindt plaats via configureerbare detailniveaus per context, terwijl de doorgifte naar de DLT-backend, ARTI-tools of de lokale console plaatsvindt [SWS_LOG_00021].

Het functionele cluster Log and Trace (ara::log) vormt de universele basisinfrastructuur voor gestructureerde logging, diagnose-uitvoer en hardwarenabije tracering in het AUTOSAR Adaptive Platform AUTOSAR AP SWS LogAndTrace p. 13. Elke Logger-instantie vertegenwoordigt een eigen context binnen een proces en registreert zich bij haar ontstaan automatisch bij de centrale logging-backend EXP SWArchitecture p. 57. Naast applicaties binden ook fundamentele platformdiensten zoals Execution Management, Platform Health Management en Persistency de Logger-interface bindend in voor de operationele documentatie AUTOSAR AP EXP SWArchitecture p. 58.

architektur_einbettung cluster_consumers Consumenten (applicaties en platformclusters) cluster_ara_log Functional Cluster Log and Trace (ara::log) cluster_backends Uitvoer- en diagnosesinks 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

Contextdiagram: inbedding van het cluster Log and Trace als centrale logging- en tracing-infrastructuur voor adaptieve applicaties en functionele platformclusters. Bronnen: AUTOSAR AP SWS LogAndTrace p. 13, AUTOSAR AP EXP SWArchitecture p. 58, SWS LogAndTrace p. 21, AUTOSAR AP SWS OperatingSystemInterface p. 21

De module differentieert tussen twee fundamentele interactievormen:

  • Ongemodelleerde logging: een fluent-builder-patroon genereert via ernstgraadgerelateerde methoden (zoals LogInfo() of LogError()) een tijdelijk LogStream-object, dat scalaire typen, tekenreeksen, foutcodes en format-modificatoren typeveilig aaneenschakelt en de buffer uiterlijk in de destructor of via Flush() verzendt [SWS_LOG_00067], [SWS_LOG_00039], [SWS_LOG_00262].
  • Gemodelleerde logging: via de single-call-interface Logger::Log(id, args...) worden vooraf in het manifest gedeclareerde berichten verzonden, wat bij inactieve drempelwaarde een uiterst efficiënte uitfiltering zonder objectinstantiëring mogelijk maakt [SWS_LOG_00204], PlatformDesign p. 74.

Verloop van de niet-gemodelleerde stream-loggingAnwendungLoggerLogStreamLogging-BackendLogInfo()Erzeuge LogStreamLogStream (RVO)operator<<("Statuswert")Buffer vullenoperator<<(42)Buffer vullenaltExpliziter Flush vor Scope-EndeFlush()Bufferinhoud verzendenNeuen Strom initiierenVerlaten van de scope~LogStream()Bufferinhoud verzenden

Sequentiediagram: verloop van de ongemodelleerde stream-logging via LogStream tot aan de bufferoverdracht naar de logging-backend. Bronnen: [SWS_LOG_00067], [SWS_LOG_00040], [SWS_LOG_00039], [SWS_LOG_00262], PlatformDesign p. 74

Om onnodige rekentijd te vermijden kan het actieve meldingsniveau vooraf via IsEnabled(logLevel) worden geverifieerd of tijdens runtime via SetThreshold(threshold) worden aangepast [SWS_LOG_00070], [SWS_LOG_00255]. Naast de doorgifte naar DLT-kanalen via Ethernet of naar ARTI-tools fungeert bij ontbrekende modelconfiguratie de console als uitwijkvoorziening [SWS_LOG_00021], terwijl de externe diagnose-verbindingsstatus via RegisterConnectionStateHandler asynchroon kan worden bewaakt [SWS_LOG_00098], [SWS_LOG_00205].

Systeemarchitectuur en functionele rol van Log and Trace

Het functionele cluster Log and Trace (ara::log) vormt het centrale, transversale subsysteem voor de gestandaardiseerde registratie, doorgifte en filtering van diagnose-, tracing- en logmeldingen op het AUTOSAR Adaptive Platform AUTOSAR AP SWS LogAndTrace p. 13. De programmeerinterface Logger stelt de uniforme C++-platform-API beschikbaar, die zowel door applicatiespecifieke processen (Adaptive Applications) als door de fundamentele functionele platformclusters als basisinfrastructuur wordt geconsumeerd AUTOSAR AP EXP SWArchitecture p. 58. Tot deze consumerende systeem-daemons behoren onder meer Execution Management voor de documentatie van de proceslevenscyclus AUTOSAR AP EXP SWArchitecture p. 50, Platform Health Management voor toezicht op de toestand AUTOSAR AP SWS PlatformHealthManagement p. 16, Time Synchronization voor uiterst precieze tijdsreferenties AUTOSAR AP SWS TimeSynchronization p. 17 en Update and Configuration Management tijdens software-updates AUTOSAR AP EXP SWArchitecture p. 141.

Architectonisch kapselt elke logger-instantie een unieke context (Context ID) binnen een applicatie- of procesbereik in, waarbij deze context zich bij het aanmaken automatisch bij de logging-backend registreert en bij het afsluiten van de applicatie automatisch wordt afgemeld EXP SWArchitecture p. 57. De logging-backend geeft geformatteerde meldingen door aan geprojecteerde uitvoerkanalen (bijv. DLT-protocolputten via Ethernet conform het Machine-manifest) of aan lokale buffers, waarbij bij een ontbrekend deploymentmodel standaard wordt teruggevallen op de besturingssysteemconsole [SWS_LOG_00021], SWS LogAndTrace p. 21. Bovendien stelt een ontkoppelde adapterarchitectuur het besturingssysteem (POSIX/OS) in staat om interne kernel- en scheduling-statistieken via de AUTOSAR Run-Time Interface (ARTI) gesynchroniseerd met de meldingen van ara::log beschikbaar te stellen AUTOSAR AP SWS OperatingSystemInterface p. 21.

architektur_einbettung cluster_consumers Consumenten (applicaties en platformclusters) cluster_ara_log Functional Cluster Log and Trace (ara::log) cluster_backends Uitvoer- en diagnosesinks 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

Contextdiagram: inbedding van het cluster Log and Trace als centrale logging- en tracing-infrastructuur voor adaptieve applicaties en functionele platformclusters. Bronnen: AUTOSAR AP SWS LogAndTrace p. 13, AUTOSAR AP EXP SWArchitecture p. 58, SWS LogAndTrace p. 21, AUTOSAR AP SWS OperatingSystemInterface p. 21

Instantiëring, contextbeheer en drempelwaardebesturing

Het beschikbaar stellen van een logger-context vindt plaats via de factoryfuncties ara::log::CreateLogger, aangezien de standaardconstructor van de klasse Logger is verwijderd [SWS_LOG_00259]. Applicaties kunnen loggers ofwel programmatisch onder opgave van een context-ID (ctxId), een beschrijving (ctxDescription) en optioneel een standaard-loglevel instantiëren [SWS_LOG_00021], [SWS_LOG_00263], ofwel instantiegebaseerd via een modelelement door middel van ara::core::InstanceSpecifier afleiden [SWS_LOG_00256]. De destructor van Logger handelt het afmelden thread-veilig af [SWS_LOG_00260].

De granulariteit en prioriteit van meldingen wordt door de enumeratie LogLevel hiërarchisch weergegeven: kFatal (onherstelbare systeemfout), kError (fout met functionele belemmering), kWarn (waarschuwing bij gevaar voor beoogd gedrag), kInfo (algemene bedrijfsinformatie), kDebug (gedetailleerde diagnose) en kVerbose (uitvoerige tracering) [SWS_LOG_00018], ManifestSpecification p. 416. Voor runtime-optimalisatie kunnen rekenintensieve voorbereidingen van loggegevens worden vermeden door vooraf via de bevraging IsEnabled(logLevel) te controleren of het desbetreffende loglevel op de context momenteel actief is geschakeld [SWS_LOG_00070]. De actieve meldingsdrempel van een logger-instantie kan desgewenst tijdens runtime via SetThreshold(threshold) dynamisch worden aangepast [SWS_LOG_00255].

Ongemodelleerde logging en streamgebaseerde berichtcompositie

Voor ongemodelleerde meldingen stelt ara::log een op het builder-ontwerppatroon geïnspireerde fluent-interface beschikbaar PlatformDesign p. 74. De instap vindt plaats via ernstgraadspecifieke lidfuncties van de Logger-instantie, te weten LogFatal(), LogError(), LogWarn(), LogInfo(), LogDebug() en LogVerbose(), of via WithLevel(logLevel), die een tijdelijk, lichtgewicht LogStream-object retourneren [SWS_LOG_00064], [SWS_LOG_00065], [SWS_LOG_00066], [SWS_LOG_00067], [SWS_LOG_00068], [SWS_LOG_00069], [SWS_LOG_00131]. Gegevens worden vervolgens via de typeveilige stream-invoegoperator (operator<<) aaneengeschakeld aan de interne berichtbuffer toegevoegd [SWS_LOG_00040].

De stream-interface ondersteunt een breed scala aan native C++- en AUTOSAR-typen zonder handmatige opmaakfouten:

Metadata en formattering kunnen nauwkeurig worden gestuurd: via WithLocation(file, line) wordt de broncode-oorsprong vastgelegd [SWS_LOG_00129], WithTag(tag) voegt functionele trefwoorden toe [SWS_LOG_00132], en WithPrivacy(value) legt een vertrouwelijkheidsniveau vast via de onderste 8 bits [SWS_LOG_00258]. Geformatteerde argumenten met naam en fysische eenheid worden via de hulp-template Arg ingekapseld [SWS_LOG_00201], [SWS_LOG_00203], ondersteund door de formatteringshulpmiddelen Dflt, Hex, Dec, Oct, Bin, DecFloat, EngFloat, HexFloat en AutoFloat uit de enumeratie Fmt [SWS_LOG_00206], [SWS_LOG_00208], [SWS_LOG_00209], [SWS_LOG_00211], [SWS_LOG_00217], [SWS_LOG_00225], [SWS_LOG_00226].

Wat betreft de levenscyclus is LogStream een move-only-object: copy-constructor en copy-toekenningsoperator zijn verwijderd [SWS_LOG_00174], [SWS_LOG_00175], terwijl de move-constructor ter ondersteuning van Return Value Optimization (RVO) is gedeclareerd [SWS_LOG_00176]; de move-toekenningsoperator is verwijderd [SWS_LOG_00177]. De bufferinhoud wordt bij het verlaten van het geldigheidsbereik via de destructor ~LogStream() automatisch naar het logging-framework verzonden [SWS_LOG_00262]. Indien een LogStream-object binnen hetzelfde geldigheidsbereik achtereenvolgens voor meerdere meldingen moet worden gebruikt, moet de bufferoverdracht expliciet via Flush() worden geactiveerd, waardoor een nieuwe meldingsstroom wordt geïnitialiseerd [SWS_LOG_00039]. Interpretatie: het interne bufferbeheer van LogStream zal vermoedelijk na aanroep van Flush() de buffer voor opeenvolgende streaming-operatoren binnen hetzelfde bereik legen en opnieuw initialiseren, zonder dat vernietiging van de objectidentiteit vereist is. Vraag (open)

Verloop van de niet-gemodelleerde stream-loggingAnwendungLoggerLogStreamLogging-BackendLogInfo()Erzeuge LogStreamLogStream (RVO)operator<<("Statuswert")Buffer vullenoperator<<(42)Buffer vullenaltExpliziter Flush vor Scope-EndeFlush()Bufferinhoud verzendenNeuen Strom initiierenVerlaten van de scope~LogStream()Bufferinhoud verzenden

Sequentiediagram: verloop van de ongemodelleerde stream-logging via LogStream tot aan de bufferoverdracht naar de logging-backend. Bronnen: [SWS_LOG_00067], [SWS_LOG_00040], [SWS_LOG_00039], [SWS_LOG_00262], PlatformDesign p. 74

Gemodelleerde logging en vertakking naar ARTI-tracing

In tegenstelling tot de stapsgewijze opbouw van ongemodelleerde berichten definieert ara::log voor in het manifest gemodelleerde berichten een uiterst efficiënte single-call-interface via Logger::Log(id, args...) en Logger::LogWith(attrs, msgId, params...) [SWS_LOG_00204], [SWS_LOG_00133]. Alle argumenten worden in een enkele functieaanroep doorgegeven, waardoor de runtime-overhead in het geval van onderdrukte meldingen tot een minimum wordt beperkt: direct na de parameteroverdracht controleert een enkele voorwaarde de drempelwaarde en keert onmiddellijk terug indien het geconfigureerde loglevel niet is bereikt PlatformDesign p. 74.

Binnen de aanroep van Log splitst het verwerkingspad zich: naast het klassieke pad van DLT-serialisatie (buildDltMessage(), filtering via logmasker en overdracht aan de put) bestaat er een specifiek pad voor hardwarenabije tracering via de AUTOSAR Run-Time Interface (ARTI) door middel van TraceArti(msg_id, params...) [SWS_LOG_20000], AUTOSAR AP SWS LogAndTrace p. 42. Vermoedelijk wordt het doorschakelen naar TraceArti via statische templatespecialisaties tijdens compileertijd opgelost om de vereiste minimale runtime-overhead te garanderen. Vraag (open) De ARTI-backend filtert volgens eigen criteria op basis van de MsgId en omzeilt de DLT-buffering volledig, wat realtime-kritische tracering mogelijk maakt zonder verstoring van het reguliere logging-subsysteem 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 Verwerpen / onmiddellijke terugkeer 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 Filtercontrole (msg_id & logmask) build_dlt->check_mask send_sink sendDltMessageToSink() check_mask->send_sink Passiert check_mask->end_node Gefiltert send_sink->end_node

Activiteitendiagram: controle- en filterstroom bij het verzenden van gemodelleerde berichten tussen DLT-backend en ARTI-tracing. Bronnen: [SWS_LOG_00204], [SWS_LOG_20000], AUTOSAR AP SWS LogAndTrace p. 42, PlatformDesign p. 74

Client-verbindingsbewaking en diagnoseaansluiting

Log and Trace biedt niet alleen lokale uitvoerkanalen, maar bewaakt ook de toestand van externe diagnose-clients (bijv. DLT-viewer via Ethernet), gerepresenteerd door de enumeratie ClientState: kUnknown (-1, DLT-backend nog niet gereed), kNotConnected (geen externe client gedetecteerd) en kConnected (verbinding met externe client actief) [SWS_LOG_00098]. Hierdoor kunnen applicaties bewerkelijke tracering koppelen aan de fysieke aanwezigheid van een analysetool.

Voor asynchrone toestandsbewaking registreren applicaties een callbackfunctie via ara::log::RegisterConnectionStateHandler met behulp van de functie-aliasing ConnectionStateHandler = std::function<void(ClientState)> [SWS_LOG_00205], [SWS_LOG_00265]. Het logging-framework ondersteunt hierbij exact één actieve handler-registratie: een hernieuwde aanroep van RegisterConnectionStateHandler overschrijft een eerder geïnstalleerde callback zonder beperking [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

Toestandsdiagram: toestandsovergangen van de externe client conform ClientState. Bronnen: [SWS_LOG_00098], [SWS_LOG_00205], [SWS_LOG_00265]

Gedrag in het foutgeval

De module dwingt functionele veiligheid en robuustheid primair af door statische typecontroles tijdens compileertijd en strikte exceptiegaranties:

  • Compileertijdfouten (ill-formed): de aanroep van Logger::Log(id, args...) is ongeldig (ill-formed) wanneer de doorgegeven argumenten niet exact overeenkomen met de in het manifest gedeclareerde berichtsignatuur [SWS_LOG_00204]. Evenzo leidt het gebruik van Arg() met typen die noch rekenkundig noch booleaans zijn, noch converteerbaar naar StringView resp. Span<const Byte>, tot een compileerafbreek [SWS_LOG_00201]. De functie WithPrivacy(value) dwingt bovendien af dat het parametertype een geheel getal of een enumeratie is [SWS_LOG_00258].
  • Constructie- en toekenningsverboden: om onbedoelde bufferduplicaties of resourceconflicten uit te sluiten, zijn de copy-constructor en de copy-toekenningsoperator van LogStream evenals de move-toekenningsoperator expliciet verwijderd [SWS_LOG_00174], [SWS_LOG_00175], [SWS_LOG_00177].
  • Runtime-integriteit bij instantiëring: faalt de resolutie van de ara::core::InstanceSpecifier in het machine- of applicatiemodel bij CreateLogger(is) of verwijst deze niet naar een toelaatbaar modelelement, dan meldt het systeem een InstanceSpecifierMappingIntegrityViolation [SWS_LOG_00256].
  • Uitwijkveilige fallback-putten: is er tijdens runtime geen deploymentmodel of geen netwerkverbinding met de DLT-dienst beschikbaar, dan schakelt het framework automatisch over naar de lokale console als standaard uitvoerput, zodat er geen diagnose-informatie geruisloos verloren gaat [SWS_LOG_00021], [SWS_LOG_00263]. Bij uitvoer van een core::ErrorCode op de console vindt de weergave plaats via de domeinnaam en de numerieke foutwaarde [SWS_LOG_00124].
  • Exceptieveiligheid: alle streaming-operatoren, drempelwaardebevragingen en de destructor ~LogStream() zijn gedeclareerd als noexcept, om te waarborgen dat de logging op geen enkel moment onafgehandelde excepties naar aanroepende functieblokken propageert [SWS_LOG_00040], [SWS_LOG_00070], [SWS_LOG_00262]; de destructor ~Logger() is daarentegen formeel niet als noexcept gespecificeerd [SWS_LOG_00260].

Verdere gedetailleerde bewijzen

De architectuur en het gedrag van de module Log and Trace zijn verankerd in de volgende referentiepunten van de AUTOSAR-specificatie:

Deze moduleleidraad is geautomatiseerd gegenereerd op basis van de normatieve specificaties en bijbehorende documentpassages van AUTOSAR Adaptive R25-11.

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

apext::log

TraceArti functie

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 klasse

Wrapper type for holding a payload argument with its attributes

Format klasse

A type holding a formatting hint

Logger klasse

Represents a logger context

LogStream klasse

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

Invoer/uitvoer << 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 functie

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 functie

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

constexpr Format AutoFloat (std::uint16_t precision=6) noexcept;
AutoFloatMax functie

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 functie 2

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

Overloads Bin 2
constexpr Format Bin () noexcept; SWS_LOG_00215
constexpr Format Bin (std::uint16_t precision) noexcept; SWS_LOG_00216
CreateLogger functie 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.

Overloads 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 functie 2

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

Overloads Dec 2
constexpr Format Dec () noexcept; SWS_LOG_00211
constexpr Format Dec (std::uint16_t precision) noexcept; SWS_LOG_00212
DecFloat functie

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

constexpr Format DecFloat (std::uint16_t precision=6) noexcept;
DecFloatMax functie

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 functie

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

constexpr Format Dflt () noexcept;
EngFloat functie

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

constexpr Format EngFloat (std::uint16_t precision=6) noexcept;
EngFloatMax functie

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 functie 2

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

Overloads Hex 2
constexpr Format Hex () noexcept; SWS_LOG_00209
constexpr Format Hex (std::uint16_t precision) noexcept; SWS_LOG_00210
HexFloat functie

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

constexpr Format HexFloat (std::uint16_t precision) noexcept;
HexFloatMax functie

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 functie 2

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

Overloads 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 enumeratie

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

enum class ClientState : std::int8_t {...};
Fmt enumeratie

Format specifiers for log message arguments .

enum class Fmt : std::uint16_t {...};
LogLevel enumeratie

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

UML-klassendiagram van de module

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