DEENESPTFRRUARHIKOZHNL

namespace apext::log

User GuideKI-GENERIERT

Stellt eine threadsichere Schnittstelle zur Weiterleitung modellierter Nachrichten an externe Trace-Werkzeuge bereit.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 199c14229bd8 Herkunft Offene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Stellt eine threadsichere Schnittstelle zur Weiterleitung modellierter Nachrichten an externe Trace-Werkzeuge bereit.

Der Namespace apext::log stellt mit der Funktionsschablone TraceArti eine Schnittstelle zur Weiterleitung modellierter Trace-Nachrichten an externe Laufzeit-Trace-Werkzeuge bereit [SWS_LOG_20000]. Die Funktion wird ausschließlich intern durch das Logger-Framework beim Umschalten zwischen Logging und Tracing aufgerufen und verarbeitet nachrichtenspezifische Bezeichner sowie variable Parameter [SWS_LOG_20000]. Als zentrale Randbedingungen gelten ein minimaler Laufzeit-Overhead, vollständige Threadsicherheit sowie eine ausnahmesichere Ausführung ohne Fehler- oder Rückgabewerte.

Kontext

Der Namespace apext::log stellt funktionale Schnittstellen für das Logging- und Tracing-Subsystem der AUTOSAR Adaptive Platform bereit. Seine primäre Verantwortung liegt in der Bereitstellung einer dedizierten Schnittstelle für externe Laufzeit-Trace-Werkzeuge über die Funktionsschablone TraceArti [SWS_LOG_20000]. Die Namensgebung mit dem Präfix apext dürfte als Interpretation darauf hindeuten, dass es sich um eine Plattform-Erweiterung (Adaptive Platform Extension) handelt, die spezifische Tracing-Mechanismen wie das AUTOSAR Run-Time Interface (ARTI) an das Logging-Framework anbindet. Frage Q-325896ce9f6b8e42 (offen)

In der Systemarchitektur fungiert der Namespace als Bindeglied zwischen der internen Logging-Infrastruktur und nachgelagerten Analyse- bzw. Trace-Werkzeugen. Dabei interagieren im Wesentlichen drei Komponenten miteinander: das interne Logger-Framework, die Schnittstellenfunktion TraceArti innerhalb von apext::log sowie das angebundene Trace-Tool [SWS_LOG_20000]. Das Logger-Framework verarbeitet Anwendungsereignisse und leitet modellierte Nachrichten bei entsprechender Umschaltung an TraceArti weiter, welches die Daten an das herstellerspezifische Trace-Tool übergibt [SWS_LOG_20000].

logger Logger-Framework trace_arti apext::log::TraceArti logger->trace_arti interner Aufruf trace_tool Trace-Tool trace_arti->trace_tool modellierte Nachricht

Kontextdiagramm: Einbettung von TraceArti zwischen Logger-Framework und Trace-Tool. Quellen: [SWS_LOG_20000]

Lebenszyklus

Der Namespace apext::log kapselt keine langlebigen Klasseninstanzen, Sitzungsobjekte oder zustandsbehafteten Entitäten mit eigenständigem Lebenszyklus. Es existieren im Namespace keine expliziten Initialisierungs- oder Terminierungsroutinen; vielmehr wird die Funktionalität ausschließlich durch freie Template-Funktionen realisiert [SWS_LOG_20000]. Der Lebenszyklus der Tracing-Funktionalität ist somit vollständig an den übergeordneten Betriebslebenszyklus des Logger-Frameworks gekoppelt.

Hinsichtlich des Nebenläufigkeitsverhaltens und der Betriebssicherheit gelten strikte Garantien: Die Schnittstelle TraceArti ist explizit als threadsicher (thread-safe) spezifiziert [SWS_LOG_20000]. Dies gestattet es dem Logger-Framework, Trace-Aufrufe parallel aus multiplen Ausführungskontexten und Threads ohne externe Synchronisation an den Namespace zu delegieren. Gleichzeitig ist die Funktion als ausnahmesicher (exception safe) und noexcept deklariert [SWS_LOG_20000], sodass zu keinem Zeitpunkt Ressourcenlecks oder unkontrollierte Stack-Unwinding-Zustände während des Aufrufs auftreten können.

Nutzungspfad

Die Funktionen des Namespace apext::log sind nicht für den direkten Aufruf durch allgemeine Anwendungssoftware konzipiert. Stattdessen wird TraceArti ausschließlich intern durch das Logger-Framework aufgerufen, wenn dieses zwischen klassischem Logging und ARTI-basiertem Tracing umschaltet [SWS_LOG_20000]. Entwickler oder Integratoren binden bei Bedarf die entsprechende Header-Datei #include "apext/log/trace_arti.h" ein, um Zugriff auf die Deklaration zu erhalten [SWS_LOG_20000].

Beim Aufruf verarbeitet die Funktion modellierte Nachrichten (modeled messages), die für das jeweils verwendete Trace-Tool spezifisch sind [SWS_LOG_20000]. Die Schnittstelle akzeptiert hierzu einen nachrichtenidentifizierenden Bezeichner msg_id eines implementierungsdefinierten Typs MsgId sowie ein variables Parameterpaket params... beliebiger Typen Params... [SWS_LOG_20000]. Um die Laufzeitkosten im Trace-Pfad so gering wie möglich zu halten, fordert die Spezifikation eine strikte Minimierung des Laufzeit-Overheads; dies soll beispielsweise durch maßgeschneiderte Template-Spezialisierungen auf Basis der jeweiligen MsgId erreicht werden [SWS_LOG_20000]. Es ist zu vermuten, dass derartige Spezialisierungen typischerweise durch Werkzeug-Generatoren im Rahmen der Toolchain-Integration für die jeweiligen Zielsysteme erzeugt werden.

Fehlerszenarien

Im Bereich der Fehlerbehandlung verfolgt apext::log ein fehlertolerantes Design ohne Signalisierung von Laufzeitfehlern an den Aufrufer. Die Funktionssignatur von TraceArti definiert keinen Rückgabewert (void) und verbietet über die noexcept-Spezifikation das Werfen von C++-Exceptions vollständig [SWS_LOG_20000]. Vorbedingungen wie die Gültigkeit von Nachrichten-IDs und übergebenen Nutzdaten müssen daher zwingend durch das aufrufende Logger-Framework oder die entsprechenden Spezialisierungen gewährleistet werden, da im Fehlerfall keine Fehlercodes transportiert werden können [SWS_LOG_20000].

Dieser Leitfaden wurde durch eine KI erstellt und fasst die Spezifikation zur Schnittstelle apext::log zusammen.

Funktionen

TraceArti function

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;

Dokumentation der freien Funktionen

function TraceArti [SWS_LOG_20000] Upstream: RS_LT_00003

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

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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: afa9b5cd99a6 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Aufrufkontext

Die Template-Funktion TraceArti im Namensraum apext::log dient der Verarbeitung modellierter Nachrichten spezifisch für das jeweils angebundene Trace-Werkzeug [SWS_LOG_20000]. Sie fungiert als Schnittstelle zu Trace-Tools und ist nicht für den direkten Aufruf durch Anwendungscode vorgesehen, sondern wird ausschließlich intern vom Logger-Framework aufgerufen, wenn zwischen Logging und TraceArti gewechselt wird [SWS_LOG_20000]. Als Parameter übernimmt die Funktion über msg_id ein nachrichtenidentifizierendes Objekt eines implementationsspezifischen Typs sowie über das Parameter-Pack params die Argumente der Nachricht; ein Rückgabewert ist nicht definiert [SWS_LOG_20000].

Nebenläufigkeit, Fehlerbehandlung und Laufzeitverhalten

Die Schnittstelle ist als threadsicher (thread-safe) und ausnahmesicher (exception safe durch noexcept) spezifiziert [SWS_LOG_20000]. Spezifische Fehlercodes oder Mechanismen zur Fehlermeldung existieren nicht, sodass die Funktion Ausnahmen vollständig ausschließen muss [SWS_LOG_20000].

Der Laufzeit-Overhead von TraceArti ist so minimal wie möglich zu halten [SWS_LOG_20000]. Hierzu nennt die Spezifikation explizit Spezialisierungen anhand des Template-Parameters MsgId als Lösungsansatz [SWS_LOG_20000]. Interpretation: Für die Anbindung eines Trace-Werkzeugs dürfte dies bedeuten, dass nachrichtenspezifische Verarbeitungslogiken vorzugsweise compile-zeitlich über Template-Spezialisierungen optimiert werden sollten. Frage Q-24ea7f9557ada827 (offen)

Dieser Nutzungshinweis wurde automatisiert auf Basis der AUTOSAR-Spezifikation für R25-11 erstellt.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "apext/log/trace_arti.h"
Scopenamespace apext::log
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Template-Parameter

ParameterBeschreibung
MsgIdParamsthe type of the msg_id parameter the types of the params parameters

Parameter (in)

ParameterBeschreibung
msg_idan implementation-defined type identifying the message object
paramsthe arguments of the message

Rückgabewert

TypBeschreibung
None

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_LOG_20000
Status
valid/auto-approved
Version
AUTOSAR/AP/record/SWS_LOG_20000@rel:R25-11#4e0ac6b9
Content hash
4e0ac6b9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_LogAndTrace.pdf#nameddest=SWS_LOG_20000
Status: valid/auto-approved Version: rel:R25-11#5511a3f8 Versionshistorie & Revisions (2 transitions, 4 revision)
Current State
valid/auto-approved
Reason
unchanged
Campaign
2026-08-sws-log-pilot-after-tool-improvement
Active Version
AUTOSAR/AP/record/SWS_LOG_20000@rel:R25-11#5511a3f8
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#4e0ac6b92026-09-30
  • R23-11rel:R23-11#ab5e92c82026-10-14
  • R24-11rel:R24-11#5511a3f82026-10-14
  • R25-11rel:R25-11#5511a3f82026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-10toolvalid/unversioned → invalid/obsoletespec update after tool improvement2026-08-sws-log-pilot-after-tool-improvement
2026-08-10toolinvalid/obsolete → valid/auto-approvedunchanged2026-08-sws-log-pilot-after-tool-improvement