DEENESPTFRRUARHIKOZHNL

모듈 ara::log — Log and Trace

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

모듈 가이드AI 생성

적응형 애플리케이션 및 플랫폼 서비스가 고성능의 타입 안전한 로깅 및 추적을 수행할 수 있도록 합니다.
AI 생성 미검증 모델: 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() 등)를 통해 스칼라 타입, 문자열, 오류 코드 및 포맷 한정자를 타입 안전하게 연결하고 늦어도 소멸자에서 또는 Flush()을 통해 버퍼를 전송하는 임시 LogStream 객체를 생성합니다 [SWS_LOG_00067], [SWS_LOG_00039], [SWS_LOG_00262].
  • 모델링된 로깅: Single-Call 인터페이스 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]. Ethernet을 통한 DLT 채널 또는 ARTI 도구로의 전달 외에도 모델 구성이 없는 경우 콘솔이 대체 수단(fail-safe) 역할을 하며 [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는 애플리케이션별 프로세스(Adaptive Applications)뿐만 아니라 기본 플랫폼 기능 클러스터에서도 기본 인프라로 소비되는 일관된 C++ 플랫폼 API를 제공합니다 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쪽. 로깅 백엔드는 포맷된 메시지를 계획된 출력 채널(예: 머신 매니페스트에 따른 Ethernet 기반 DLT 프로토콜 싱크) 또는 로컬 버퍼로 전달하며, 배포 모델이 없는 경우 기본적으로 운영체제 콘솔이 사용됩니다 [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쪽

인스턴스화, 컨텍스트 관리 및 임계값 제어

클래스 Logger의 기본 생성자가 삭제되었으므로 로거 컨텍스트는 팩토리 함수 ara::log::CreateLogger을 통해 제공됩니다 [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 인터페이스를 제공합니다 PlatformDesign 74쪽. 진입은 Logger 인스턴스의 심각도별 멤버 함수(명칭상 LogFatal(), LogError(), LogWarn(), LogInfo(), LogDebug(), LogVerbose()) 또는 임시의 경량 LogStream 객체를 반환하는 WithLevel(logLevel)를 통해 이루어집니다 [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], 열거형 Fmt의 포맷팅 도우미 Dflt, Hex, Dec, Oct, Bin, DecFloat, EngFloat, HexFloat 및 AutoFloat에 의해 지원됩니다 [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] 반면, 이동 생성자는 Return Value Optimization(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...)를 통한 고효율 단일 호출(single-call) 인터페이스를 정의합니다 [SWS_LOG_00204], [SWS_LOG_00133]. 모든 인자가 단일 함수 호출로 전달되므로 억제된 메시지의 경우 런타임 오버헤드가 최소한으로 줄어듭니다: 매개변수 전달 직후 단일 조건이 임계값을 확인하고, 구성된 로그 레벨에 도달하지 않은 경우 즉시 반환합니다 PlatformDesign 74쪽.

Log 호출 내부에서 처리 경로는 분기됩니다: 기존의 DLT 직렬화 경로(buildDltMessage(), 로그 마스크를 통한 필터링 및 싱크로의 전달) 외에도 TraceArti(msg_id, params...)를 사용하는 AUTOSAR Run-Time Interface(ARTI)를 통한 하드웨어 근접 실행 추적 전용 경로가 존재합니다 [SWS_LOG_20000], AUTOSAR AP SWS LogAndTrace 42쪽. 요구되는 최소 런타임 오버헤드를 보장하기 위해 TraceArti로의 전달은 컴파일 타임에 정적 템플릿 특수화를 통해 해결되는 것으로 추정됩니다. 질문 (열림) ARTI 백엔드는 MsgId에 기반한 자체 기준에 따라 필터링하고 DLT 버퍼링을 완전히 우회하므로, 정규 로깅 하위 시스템의 방해 없이 실시간 결정적(real-time critical) 트레이싱을 가능하게 합니다 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는 로컬 출력 채널을 제공할 뿐만 아니라 열거형 ClientState으로 표현되는 외부 진단 클라이언트(예: Ethernet을 통한 DLT-Viewer)의 상태도 모니터링합니다: kUnknown(-1, DLT 백엔드가 아직 준비되지 않음), kNotConnected(원격 클라이언트가 감지되지 않음), kConnected(외부 클라이언트에 대한 연결 활성) [SWS_LOG_00098]. 이를 통해 애플리케이션은 리소스 소모가 큰 트레이싱을 분석 도구의 물리적 존재 여부와 연계할 수 있습니다.

비동기 상태 추적을 위해 애플리케이션은 함수 앨리어싱 ConnectionStateHandler = std::function<void(ClientState)>을 사용하여 ara::log::RegisterConnectionStateHandler을 통해 콜백 함수를 등록합니다 [SWS_LOG_00205], [SWS_LOG_00265]. 로깅 프레임워크는 이때 정확히 하나의 활성 핸들러 등록만을 지원합니다: RegisterConnectionStateHandler를 다시 호출하면 이전에 설치된 콜백을 제약 없이 덮어씁니다 [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]. 마찬가지로 산술 타입도, 불리언도 아니며 StringView 또는 Span<const Byte>로 변환할 수도 없는 타입과 함께 Arg()를 사용하면 컴파일이 중단됩니다 [SWS_LOG_00201]. 또한 WithPrivacy(value) 함수는 매개변수 타입이 정수 타입 또는 열거형이어야 함을 강제합니다 [SWS_LOG_00258].
  • 생성 및 할당 금지: 의도치 않은 버퍼 복제나 리소스 경합을 배제하기 위해, LogStream의 복사 생성자와 복사 할당 연산자 및 이동 할당 연산자는 명시적으로 삭제되어 있습니다 [SWS_LOG_00174], [SWS_LOG_00175], [SWS_LOG_00177].
  • 인스턴스화 시 런타임 무결성: CreateLogger(is) 시 머신 또는 애플리케이션 모델에서 ara::core::InstanceSpecifier의 확인(해석)이 실패하거나 이것이 유효한 모델 요소를 가리키지 않는 경우, 시스템은 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 사양의 다음 참조 위치에 명시되어 있습니다:

이 모듈 가이드는 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;

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;

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;

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;

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 {...};

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