DEENESPTFRRUARHIKOZHNL

namespace apext::log

User GuideAI-GEGENEREERD

Stelt een thread-safe interface beschikbaar voor het doorsturen van gemodelleerde berichten naar externe trace-tools.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 199c14229bd8 Herkomst Open vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Stelt een thread-safe interface beschikbaar voor het doorsturen van gemodelleerde berichten naar externe trace-tools.

De namespace apext::log stelt met het functietemplate TraceArti een interface beschikbaar voor het doorsturen van gemodelleerde trace-berichten naar externe runtime-trace-tools [SWS_LOG_20000]. De functie wordt uitsluitend intern door het logger-framework aangeroepen bij het omschakelen tussen logging en tracing en verwerkt berichtspecifieke identifiers evenals variabele parameters [SWS_LOG_20000]. Als centrale randvoorwaarden gelden een minimale runtime-overhead, volledige thread-safety en een uitzonderingsveilige uitvoering zonder fout- of retourwaarden.

Context

De namespace apext::log stelt functionele interfaces voor het logging- en tracing-subsysteem van het AUTOSAR Adaptive Platform beschikbaar. Zijn primaire verantwoordelijkheid ligt in het beschikbaar stellen van een dedicated interface voor externe runtime-trace-tools via het functietemplate TraceArti [SWS_LOG_20000]. De naamgeving met het voorvoegsel apext duidt er als interpretatie vermoedelijk op dat het om een platformuitbreiding (Adaptive Platform Extension) gaat, die specifieke tracingmechanismen zoals de AUTOSAR Run-Time Interface (ARTI) aan het logging-framework koppelt. Vraag Q-325896ce9f6b8e42 (open)

In de systeemarchitectuur fungeert de namespace als schakel tussen de interne logging-infrastructuur en nageschakelde analyse- respectievelijk trace-tools. Daarbij interageren in wezen drie componenten met elkaar: het interne logger-framework, de interfacefunctie TraceArti binnen apext::log en de aangesloten trace-tool [SWS_LOG_20000]. Het logger-framework verwerkt applicatiegebeurtenissen en stuurt gemodelleerde berichten bij overeenkomstige omschakeling door naar TraceArti, die de gegevens aan de fabrikantspecifieke trace-tool overdraagt [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

Contextdiagram: Inbedding van TraceArti tussen logger-framework en trace-tool. Bronnen: [SWS_LOG_20000]

Levenscyclus

De namespace apext::log kapselt geen langlevende klasse-instanties, sessie-objecten of toestandshoudende entiteiten met een zelfstandige levenscyclus in. Er bestaan in de namespace geen expliciete initialisatie- of beëindigingsroutines; veeleer wordt de functionaliteit uitsluitend gerealiseerd door vrije templatefuncties [SWS_LOG_20000]. De levenscyclus van de tracingfunctionaliteit is zodoende volledig gekoppeld aan de overkoepelende operationele levenscyclus van het logger-framework.

Wat betreft het concurrency-gedrag en de operationele veiligheid gelden strikte garanties: De interface TraceArti is expliciet als thread-safe gespecificeerd [SWS_LOG_20000]. Dit stelt het logger-framework in staat om trace-aanroepen parallel vanuit meerdere uitvoeringscontexten en threads zonder externe synchronisatie naar de namespace te delegeren. Tegelijkertijd is de functie als uitzonderingsveilig (exception safe) en noexcept gedeclareerd [SWS_LOG_20000], zodat er op geen enkel moment resourcelekken of ongecontroleerde stack-unwinding-toestanden tijdens de aanroep kunnen optreden.

Gebruikspad

De functies van de namespace apext::log zijn niet ontworpen voor directe aanroep door algemene applicatiesoftware. In plaats daarvan wordt TraceArti uitsluitend intern door het logger-framework aangeroepen wanneer dit omschakelt tussen klassieke logging en ARTI-gebaseerde tracing [SWS_LOG_20000]. Ontwikkelaars of integrators voegen indien nodig het desbetreffende headerbestand #include "apext/log/trace_arti.h" in om toegang te krijgen tot de declaratie [SWS_LOG_20000].

Bij aanroep verwerkt de functie gemodelleerde berichten (modeled messages) die specifiek zijn voor de telkens gebruikte trace-tool [SWS_LOG_20000]. De interface accepteert hiertoe een berichtidentificerende identifier msg_id van een implementatiedefinieerd type MsgId evenals een variabel parameterpakket params... van willekeurige typen Params... [SWS_LOG_20000]. Om de runtimekosten in het trace-pad zo laag mogelijk te houden, vereist de specificatie een strikte minimalisatie van de runtime-overhead; dit dient bijvoorbeeld te worden bereikt door op maat gemaakte templatespecialisaties op basis van de desbetreffende MsgId [SWS_LOG_20000]. Het is aannemelijk dat dergelijke specialisaties typisch door tool-generatoren in het kader van de toolchain-integratie voor de respectieve doelsystemen worden gegenereerd.

Foutscenario's

Op het gebied van foutafhandeling volgt apext::log een fouttolerant ontwerp zonder signalering van runtimefouten aan de oproeper. De functiesignatuur van TraceArti definieert geen retourwaarde (void) en verbiedt via de noexcept-specificatie het werpen van C++-exceptions volledig [SWS_LOG_20000]. Precondities zoals de geldigheid van bericht-ID's en overgedragen payload moeten daarom dwingend worden gewaarborgd door het aanroepende logger-framework of de overeenkomstige specialisaties, aangezien er in geval van fouten geen foutcodes kunnen worden getransporteerd [SWS_LOG_20000].

Deze handleiding is opgesteld door een AI en vat de specificatie van de interface apext::log samen.

Functies

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;

Documentatie van de vrije functies

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

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: afa9b5cd99a6 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Gebruik en aanroepcontext

De templatefunctie TraceArti in de namespace apext::log dient voor de verwerking van gemodelleerde berichten specifiek voor de telkens aangesloten traceertool [SWS_LOG_20000]. Deze fungeert als interface naar traceertools en is niet bedoeld voor directe aanroep door applicatiecode, maar wordt uitsluitend intern door het logger-framework aangeroepen wanneer er wordt gewisseld tussen logging en TraceArti [SWS_LOG_20000]. Als parameters accepteert de functie via msg_id een berichtidentificerend object van een implementatiespecifiek type en via het parameterpack params de argumenten van het bericht; een retourwaarde is niet gedefinieerd [SWS_LOG_20000].

Gelijktijdigheid, foutafhandeling en runtimegedrag

De interface is gespecificeerd als thread-veilig (thread-safe) en uitzonderingsveilig (exception safe door noexcept) [SWS_LOG_20000]. Specifieke foutcodes of mechanismen voor foutmelding bestaan niet, zodat de functie uitzonderingen volledig moet uitsluiten [SWS_LOG_20000].

De runtime-overhead van TraceArti dient zo minimaal mogelijk te worden gehouden [SWS_LOG_20000]. Hiervoor noemt de specificatie expliciet specialisaties aan de hand van de templateparameter MsgId als mogelijke oplossing [SWS_LOG_20000]. Interpretatie: Voor de aansluiting van een traceertool betekent dit vermoedelijk dat berichtspecifieke verwerkingslogica bij voorkeur compileertijdelijk via templatespecialisaties moet worden geoptimaliseerd. Vraag Q-24ea7f9557ada827 (open)

Deze gebruiksinstructie is geautomatiseerd opgesteld op basis van de AUTOSAR-specificatie voor R25-11.

Implementer's Guide volgt (complexiteit 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#9b5759dd
Content hash
9b5759dd
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