DEENESPTFRRUARHIKOZHNL

구조체 ara::log::Format

[SWS_LOG_00207] Upstream: RS_LT_00046

struct Format final {...};

A type holding a formatting hint. The interpretation of precision depends on fmt: For integral types (i.e. Fmt::kDec, Fmt::kOct, Fmt::kHex, Fmt::kBin), precision is interpreted as the minimum number of digits to output, similar to e.g. std::printf("%.7d"). For the floating-point specifiers Fmt::kDecFloat, Fmt::kEngFloat and Fmt::kHexFloat, precision denotes the exact number of digits to be shown after the decimal point; for Fmt::kAutoFloat, precision denotes the number of significant digits to be shown according to the rules of the std::printf "%g" specifier. If fmt is Fmt::kDefault, the precision field is ignored, and an implementation-defined formatting is applied. For integral types, if precision is 0, it is interpreted the same as if it was 1. For convenience, there are helper functions to create specific instances of this struct. The helper functions should be used instead of creating instances manually.

Header-Datei#include "ara/log/logger.h"
Forwarding-Header#include "ara/log/log_fwd.h"
Scopenamespace ara::log

사용자 가이드AI 생성

로그 값 출력 시 표현 형식 및 정밀도를 제어하기 위한 서식 지정 힌트 역할을 합니다.
AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: ae5714d3cea4 출처 열린 질문 (2)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

로그 값 출력 시 표현 형식 및 정밀도를 제어하기 위한 서식 지정 힌트 역할을 합니다.

구조체 ara::log::Format은(는) 로깅 시스템에서 서식 지정 힌트 역할을 하며 서식 지정자 fmt([SWS_LOG_00225])과 정밀도 지정 precision([SWS_LOG_00226])을 묶습니다. 인스턴스는 가급적 제공된 헬퍼 함수를 통해 생성되어야 하며, precision의 평가는 서식 유형에 따라 정수의 경우 최소 자릿수와 부동 소수점 수의 경우 소수점 이하 자릿수 사이를 구분합니다. 정수형 타입에서는 0의 정밀도가 1과 동일하게 처리되는 반면, Fmt::kDefault 아래의 필드는 완전히 무시됩니다.

컨텍스트

데이터 구조체 ara::log::Format은(는) 서식화된 값을 출력하기 위한 서식 지정 힌트로서 AUTOSAR Adaptive Platform의 로깅 프레임워크에서 사용됩니다. 이를 위해 열거형 타입 Fmt([SWS_LOG_00225])의 서식 지정 fmt 및 std::uint16_t([SWS_LOG_00226])로서 연관된 정밀도 precision라는 두 가지 핵심 속성을 묶습니다. 상호 작용 파트너는 로깅 모듈의 출력 컴포넌트 및 서식 지정 스트림과 서식화된 텍스트 출력이 포함된 로그 메시지를 생성하는 애플리케이션 로직입니다. 해석: 사양에 언급된 인스턴스화 헬퍼 함수는 표준화된 서식 지정을 제공하기 위해 모듈 ara::log에 직접 위치할 것으로 추정됩니다. 질문 Q-1c465e69c99359fa (열림)

수명 주기

최종 데이터 구조체(struct Format final)로서 ara::log::Format은(는) 내부 상태 머신이나 복잡한 단계 전환을 가지지 않습니다. 비록 속성들이 공개 변수([SWS_LOG_00225], [SWS_LOG_00226])(으)로 선언되어 있지만, 사양에서는 인스턴스를 수동으로 생성하지 말고 대신 제공된 헬퍼 함수를 사용할 것을 명시적으로 요구합니다. 인스턴스는 일반적으로 복사 또는 참조를 통해 로그 스트림으로 전달되는 수명이 짧은 값 객체입니다. 해석: 구조체에 내부 동기화가 없으므로, 스레드 경계를 넘는 복사 및 동시 읽기 접근은 스레드에 안전하지만 변경 가능한 접근은 외부에서 동기화되어야 할 것으로 보입니다. 질문 Q-bd0f1147e9472c19 (열림)

사용 경로

일반적인 사용법에는 서식 지정자 fmt([SWS_LOG_00225])의 정의 및 원하는 정밀도 precision([SWS_LOG_00226]) 지정이 포함됩니다. precision의 평가는 fmt에서 선택된 유형을 따릅니다:

  • 정수형 타입: Fmt::kDec, Fmt::kOct, Fmt::kHex 및 Fmt::kBin의 경우 precision은(는) std::printf("%.7d")을(를) 통한 서식 지정과 유사하게 출력할 최소 자릿수를 나타냅니다.
  • 고정 소수점 및 지수 표현을 갖는 부동 소수점 타입: Fmt::kDecFloat, Fmt::kEngFloat 및 Fmt::kHexFloat의 경우 precision은(는) 소수점 이하의 정확한 자릿수를 정의합니다.
  • 자동 부동 소수점 표현: Fmt::kAutoFloat에서 precision은(는) std::printf 내 서식 지정자 %g의 규칙에 따라 유효 자릿수를 정의합니다.
  • 기본 서식 지정: fmt이(가) Fmt::kDefault 값을 가질 경우 precision의 지정은 무시되며 구현에 따른 서식 지정이 적용됩니다.
FormatAuswertung start Format-Auswertung check_fmt Welcher Typ in fmt? start->check_fmt integral precision == 0? check_fmt->integral kDec, kOct, kHex, kBin float_fixed Exakte Nachkommastellen = precision check_fmt->float_fixed kDecFloat, kEngFloat, kHexFloat float_auto Signifikante Stellen = precision (analog %g) check_fmt->float_auto kAutoFloat default_fmt precision ignoriert (Standardformatierung) check_fmt->default_fmt kDefault integral_min Minimale Stellenanzahl = precision integral->integral_min 아니요 integral_one Minimale Stellenanzahl = 1 integral->integral_one 예 end Formatierung angewendet integral_min->end integral_one->end float_fixed->end float_auto->end default_fmt->end

액티비티 다이어그램: fmt에 의존적인 precision 평가를 위한 분기 로직. 출처: [SWS_LOG_00225], [SWS_LOG_00226]

오류 시나리오

이 구조체는 오류 코드나 예외를 정의하지 않으며, 경계 케이스는 대신 결함 허용적이고 결정론적으로 처리됩니다. 정수 서식 식별자(Fmt::kDec, Fmt::kOct, Fmt::kHex, Fmt::kBin)의 경우 빈 출력을 방지하기 위해 precision = 0([SWS_LOG_00226]) 값은 1 값과 의미상 동일하게 평가됩니다. fmt이(가) Fmt::kDefault([SWS_LOG_00225])(으)로 설정된 경우 precision에 설정된 값은 오류 상태로 이어지지 않고 조용히 폐기됩니다.

이 가이드는 AUTOSAR Adaptive Platform R25-11의 로깅 모듈 사양 요구사항을 기반으로 합니다.

UML 클래스 다이어그램

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__log__Format351 «struct» Format + fmt + precision

상수

fmt 변수

the format specifier

Fmt fmt;
precision 변수

the precision to use

std::uint16_t precision;

상수 / 변수 문서

변수 fmt [SWS_LOG_00225] Upstream: RS_LT_00046

Fmt fmt;

the format specifier

Header-Datei#include "ara/log/logger.h"
Scopestruct ara::log::Format
Symbolfmt
TypFmt

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

Record
AUTOSAR/AP/record/SWS_LOG_00225
Status
valid/auto-approved
Version
AUTOSAR/AP/record/SWS_LOG_00225@rel:R25-11#145391d7
Content hash
145391d7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_LogAndTrace.pdf#nameddest=SWS_LOG_00225
Status: valid/auto-approved Version: rel:R25-11#04613a79 Versionshistorie & Revisions (2 transitions, 6 revision)
Current State
valid/auto-approved
Reason
unchanged
Campaign
2026-08-sws-log-pilot-after-tool-improvement
Active Version
AUTOSAR/AP/record/SWS_LOG_00225@rel:R25-11#04613a79
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#637a0dc22026-09-30
  • R21-11rel:R21-11#b0525fe12026-10-14
  • R22-11rel:R22-11#81b856192026-10-14
  • R23-11rel:R23-11#04613a792026-10-14
  • R24-11rel:R24-11#04613a792026-10-14
  • R25-11rel:R25-11#04613a792026-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

변수 precision [SWS_LOG_00226] Upstream: RS_LT_00046

std::uint16_t precision;

the precision to use

Header-Datei#include "ara/log/logger.h"
Scopestruct ara::log::Format
Symbolprecision
Typstd::uint16_t

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

Record
AUTOSAR/AP/record/SWS_LOG_00226
Status
valid/auto-approved
Version
AUTOSAR/AP/record/SWS_LOG_00226@rel:R25-11#10ad81c4
Content hash
10ad81c4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_LogAndTrace.pdf#nameddest=SWS_LOG_00226
Status: valid/auto-approved Version: rel:R25-11#c555de85 Versionshistorie & Revisions (2 transitions, 6 revision)
Current State
valid/auto-approved
Reason
unchanged
Campaign
2026-08-sws-log-pilot-after-tool-improvement
Active Version
AUTOSAR/AP/record/SWS_LOG_00226@rel:R25-11#c555de85
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#ee3180342026-09-30
  • R21-11rel:R21-11#c847203d2026-10-14
  • R22-11rel:R22-11#406eff9e2026-10-14
  • R23-11rel:R23-11#c555de852026-10-14
  • R24-11rel:R24-11#c555de852026-10-14
  • R25-11rel:R25-11#c555de852026-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