وحدة ara::log — Log and Trace
دليل الوحدةمولَّد بالذكاء الاصطناعي
يتيح للتطبيقات التكيفية وخدمات المنصة إجراء التسجيل وتتبع التنفيذ عالي الأداء وآمن الأنواع.
يتيح للتطبيقات التكيفية وخدمات المنصة إجراء التسجيل وتتبع التنفيذ عالي الأداء وآمن الأنواع.
توفر المجموعة الوظيفية Log and Trace البنية التحتية المركزية للتسجيل وتتبع التنفيذ على AUTOSAR Adaptive Platform AUTOSAR AP SWS LogAndTrace ص. 13. وتنشئ التطبيقات وعفاريت المنصة (Platform Daemons) رسائل السجل بمرونة عبر تدفقات بيانات آمنة الأنواع أو عبر استدعاءات دوال منمذجة عالية الكفاءة مع أدنى حد من التحميل الإضافي للفحص [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.
مخطط سياق: تضمين المجموعة Log and Trace كبنية تحتية مركزية للتسجيل والتتبع للتطبيقات التكيفية والمجموعات الوظيفية للمنصة. المصادر: AUTOSAR AP SWS LogAndTrace ص. 13، AUTOSAR AP EXP SWArchitecture ص. 58، SWS LogAndTrace ص. 21، AUTOSAR AP SWS OperatingSystemInterface ص. 21
تميز الوحدة بين شكلين أساسيين من أشكال التفاعل:
- التسجيل غير المنمذج: ينشئ نمط المنشئ الانسيابي (Fluent Builder Pattern) عبر دوال مرتبطة بدرجة الخطورة (مثل
LogInfo()أوLogError()) كائنLogStreamمؤقتًا، يربط الأنواع القياسية وسلاسل الأحرف ورموز الأخطاء ومعدلات التنسيق بشكل آمن الأنواع، وينقل المخزن المؤقت في أقصى تقدير في المدمر أو عبرFlush()[SWS_LOG_00067]، [SWS_LOG_00039]، [SWS_LOG_00262]. - التسجيل المنمذج: عبر واجهة الاستدعاء المفرد
Logger::Log(id, args...)، يتم إرسال الرسائل المصرح عنها مسبقًا في البيان (Manifest)، مما يتيح تصفية عالية الكفاءة دون إنشاء مثيلات للكائنات عندما تكون عتبة الحد غير نشطة [SWS_LOG_00204]، PlatformDesign ص. 74.
مخطط تسلسلي: مسار التسجيل المتدفق غير المنمذج عبر 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]. بالإضافة إلى إعادة التوجيه إلى قنوات DLT عبر Ethernet أو إلى أدوات ARTI، تعمل وحدة التحكم كآلية أمان عند الفشل في حال غياب تكوين النموذج [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 واجهة C++ الموحدة للمنصة (API)، والتي تُستهلك كبنية تحتية أساسية سواء من خلال العمليات الخاصة بالتطبيق (Adaptive Applications) أو من خلال كتل المنصة الوظيفية الأساسية AUTOSAR AP EXP SWArchitecture ص. 58. وتشمل هذه العمليات الخلفية للنظام (System-Daemons) المستهلكة، من بين أمور أخرى، 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. تعيد الواجهة الخلفية للتسجيل توجيه الرسائل المنسقة إلى قنوات الإخراج المخططة (مثل مصارف بروتوكول DLT عبر Ethernet وفقًا لبيان الآلة) أو إلى مخازن مؤقتة محلية، مع الرجوع افتراضيًا إلى وحدة تحكم نظام التشغيل في حالة عدم وجود نموذج نشر [SWS_LOG_00021]، SWS LogAndTrace ص. 21. علاوة على ذلك، تسمح بنية مهايئ مفككة لنظام التشغيل (POSIX/OS) بتوفير مقاييس النواة والجدولة الداخلية عبر AUTOSAR Run-Time Interface (ARTI) بالتزامن مع رسائل ara::log AUTOSAR AP SWS OperatingSystemInterface ص. 21.
مخطط سياق: تضمين المجموعة Log and Trace كبنية تحتية مركزية للتسجيل والتتبع للتطبيقات التكيفية والمجموعات الوظيفية للمنصة. المصادر: AUTOSAR AP SWS LogAndTrace ص. 13، AUTOSAR AP EXP SWArchitecture ص. 58، SWS LogAndTrace ص. 21، AUTOSAR AP SWS OperatingSystemInterface ص. 21
إنشاء المثيلات، وإدارة السياق، والتحكم في عتبة الحد
يتم توفير سياق المسجل عبر دوال المصنع ara::log::CreateLogger، نظرًا لأن المنشئ الافتراضي للفئة Logger محذوف [SWS_LOG_00259]. يمكن للتطبيقات إنشاء مثيل للمسجل إما برمجيًا بتحديد معرّف السياق (ctxId)، ووصف (ctxDescription)، واختياريًا مستوى تسجيل قياسي [SWS_LOG_00021]، [SWS_LOG_00263]، أو اشتقاقه بناءً على المثيل عبر عنصر نموذج بواسطة ara::core::InstanceSpecifier [SWS_LOG_00256]. ويتولى مدمر Logger معالجة إلغاء التسجيل بطريقة آمنة لسلاسل الرسائل (Thread-safe) [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 واجهة انسيابية مستندة إلى نمط تصميم المنشئ (Builder) PlatformDesign ص. 74. وتتم نقطة البداية عبر دوال أعضاء خاصة بدرجة الخطورة لمثيل Logger، وتحديدًا LogFatal() وLogError() وLogWarn() وLogInfo() وLogDebug() وLogVerbose()، أو عبر WithLevel(logLevel)، والتي تُرجع كائن LogStream مؤقتًا وخفيف الوزن [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 الأصلية دون أخطاء تنسيق يدوية:
- الأنواع الصحيحة (ذات إشارة وبدون إشارة من 8 إلى 64 بت) بالإضافة إلى القيم المنطقية (Boolean) [SWS_LOG_00040]، [SWS_LOG_00041]، [SWS_LOG_00042]، [SWS_LOG_00043]، [SWS_LOG_00044]، [SWS_LOG_00045]، [SWS_LOG_00046]، [SWS_LOG_00047]، [SWS_LOG_00048].
- أنواع الفاصلة العائمة أحادية ومزدوجة الدقة (
float،double) [SWS_LOG_00049]، [SWS_LOG_00050]. - سلاسل أحرف UTF-8 المنتهية بصفر و
ara::core::StringView[SWS_LOG_00051]، [SWS_LOG_00062]. - أنواع محددة للمنصة مثل
LogLevelفي شكل نصي [SWS_LOG_00063]، وكائنات الأخطاءara::core::ErrorCode[SWS_LOG_00124]، والفترات الزمنيةstd::chrono::duration[SWS_LOG_00125]، ومراجع النماذجara::core::InstanceSpecifier[SWS_LOG_00126]، والمؤشرات الخام [SWS_LOG_00127]، وتتابعات البايتات عبرara::core::Span<const ara::core::Byte>[SWS_LOG_00128].
WithLocation(file, line) يتم تسجيل مصدر التعليمات البرمجية [SWS_LOG_00129]، ويضيف WithTag(tag) كلمات رئيسية وظيفية [SWS_LOG_00132]، ويحدد WithPrivacy(value) مستوى سرية عبر أدنى 8 بتات [SWS_LOG_00258]. ويتم تغليف الوسائط المنسقة بالاسم والوحدة الفيزيائية عبر قالب المساعدة Arg [SWS_LOG_00201]، [SWS_LOG_00203]، مدعومًا بأدوات مساعدة التنسيق Dflt وHex وDec وOct وBin وDecFloat وEngFloat وHexFloat وAutoFloat من التعداد Fmt [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]، بينما تم الإعلان عن منشئ النقل لدعم تحسين القيمة المعادة (RVO) [SWS_LOG_00176]؛ كما أن عامل تعيين النقل محذوف [SWS_LOG_00177]. يتم إرسال محتوى المخزن المؤقت تلقائيًا عند مغادرة نطاق الصلاحية عبر أداة الإتلاف (Destructor) ~LogStream() إلى إطار عمل التسجيل [SWS_LOG_00262]. وإذا كان سيتم استخدام كائن LogStream داخل نفس نطاق الصلاحية لعدة رسائل متتالية، فيجب تشغيل نقل المخزن المؤقت صراحةً عبر Flush()، مما يؤدي إلى تهيئة تدفق رسائل جديد [SWS_LOG_00039]. التفسير: يُرجح أن تقوم إدارة المخزن المؤقت الداخلية لـ LogStream بعد استدعاء Flush() بتفريغ المخزن المؤقت وإعادة تهيئته لعوامل التدفق اللاحقة في نفس نطاق الصلاحية، دون الحاجة إلى إتلاف هوية الكائن.
مخطط تسلسلي: مسار التسجيل المتدفق غير المنمذج عبر LogStream حتى نقل المخزن المؤقت إلى الواجهة الخلفية للتسجيل. المصادر: [SWS_LOG_00067]، [SWS_LOG_00040]، [SWS_LOG_00039]، [SWS_LOG_00262]، PlatformDesign ص. 74
التسجيل المنمذج والتفرع إلى تتبع ARTI
على عكس البناء التدريجي للرسائل غير المنمذجة، يحدد ara::log للرسائل المنمذجة في البيان (Manifest) واجهة استدعاء فردي عالية الكفاءة عبر Logger::Log(id, args...) وكذلك Logger::LogWith(attrs, msgId, params...) [SWS_LOG_00204]، [SWS_LOG_00133]. يتم تمرير جميع المعاملات في استدعاء دالة واحد، مما يقلل الحمل الزائد لوقت التشغيل في حالة الرسائل المكبوتة إلى الحد الأدنى: بعد تمرير المعاملات مباشرةً، يتحقق شرط فردي من قيمة العتبة ويعود فورًا إذا لم يتم الوصول إلى مستوى التسجيل الذي جرى تكوينه PlatformDesign ص. 74.
داخل استدعاء Log، يتشعب مسار المعالجة: إلى جانب المسار التقليدي لتسلسل DLT (buildDltMessage()، والتصفية عبر قناع التسجيل والتسليم إلى المصب)، يوجد مسار مخصص للتتبع القريب من الأجهزة عبر واجهة وقت تشغيل AUTOSAR (ARTI) بواسطة TraceArti(msg_id, params...) [SWS_LOG_20000]، AUTOSAR AP SWS LogAndTrace ص. 42. يُفترض أنه يتم حل التمرير إلى TraceArti عبر تخصيصات القوالب الثابتة في وقت الترجمة لضمان الحد الأدنى المطلوب من الحمل الزائد لوقت التشغيل. تقوم واجهة ARTI الخلفية بالتصفية وفقًا لمعاييرها الخاصة استنادًا إلى MsgId وتتجاوز التخزين المؤقت لـ DLT تمامًا، مما يتيح التتبع الحرج للوقت الفعلي دون إزعاج النظام الفرعي العادي للتسجيل AUTOSAR AP SWS LogAndTrace ص. 42.
مخطط النشاط: تدفق التحكم والتصفية عند إرسال الرسائل المنمذجة بين واجهة DLT الخلفية وتتبع ARTI. المصادر: [SWS_LOG_00204]، [SWS_LOG_20000]، AUTOSAR AP SWS LogAndTrace ص. 42، PlatformDesign ص. 74
مراقبة اتصال العميل وربط التشخيص
لا يوفر Log and Trace قنوات إخراج محلية فحسب، بل يراقب أيضًا حالة عملاء التشخيص الخارجيين (مثل DLT-Viewer عبر Ethernet)، والممثلة بواسطة التعداد ClientState: kUnknown (-1، واجهة DLT الخلفية ليست جاهزة بعد)، kNotConnected (لم يتم اكتشاف عميل بعيد) وkConnected (الاتصال بعميل خارجي نشط) [SWS_LOG_00098]. يتيح ذلك للتطبيقات ربط التتبع المكثف بالوجود الفعلي لأداة تحليل.
لتتبع الحالة بشكل غير متزامن، تسجل التطبيقات دالة استدعاء رجعي (Callback) عبر ara::log::RegisterConnectionStateHandler باستخدام الاسم المستعار للدالة ConnectionStateHandler = std::function<void(ClientState)> [SWS_LOG_00205]، [SWS_LOG_00265]. يدعم إطار عمل التسجيل في هذا السياق تسجيل معالج نشط واحد بالضبط: يؤدي الاستدعاء المتكرر لـ RegisterConnectionStateHandler إلى استبدال الاستدعاء الرجعي المثبت مسبقًا بالكامل [SWS_LOG_00205].
مخطط الحالة: انتقالات حالة العميل الخارجي وفقًا لـ ClientState. المصادر: [SWS_LOG_00098]، [SWS_LOG_00205]، [SWS_LOG_00265]
التصرف في حالة الخطأ
تفرض الوحدة السلامة الوظيفية والمتانة بشكل أساسي من خلال عمليات فحص النوع الثابت في وقت الترجمة وضمانات الاستثناء الصارمة:
- أخطاء وقت الترجمة (ill-formed): يعد استدعاء
Logger::Log(id, args...)غير مسموح به (ill-formed) إذا كانت المعاملات الممررة لا تتطابق تمامًا مع توقيع الرسالة المعلن في البيان [SWS_LOG_00204]. وبالمثل، يؤدي استخدامArg()مع أنواع ليست حسابية ولا بوليانية ولا قابلة للتحويل إلىStringViewأوSpan<const Byte>إلى إيقاف الترجمة [SWS_LOG_00201]. تفرض الدالةWithPrivacy(value)علاوة على ذلك أن يكون نوع المعامل نوعًا صحيحًا أو تعدادًا [SWS_LOG_00258]. - محظورات الإنشاء والتعيين: لاستبعاد التكرار غير المقصود للمخزن المؤقت أو تعارضات الموارد، تم حذف منشئ النسخ وعامل تعيين النسخ لـ
LogStreamصراحةً، بالإضافة إلى عامل تعيين النقل [SWS_LOG_00174]، [SWS_LOG_00175]، [SWS_LOG_00177]. - تكامل وقت التشغيل عند إنشاء المثيلات: إذا فشل حل
ara::core::InstanceSpecifierفي نموذج الآلة أو التطبيق عندCreateLogger(is)أو إذا كان لا يشير إلى عنصر نموذج مسموح به، يبلغ النظام عن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:
- مواصفات واجهة المجموعة: يتم تعريف توقيعات ++C المعيارية، وعوامل التدفق، وطرق السياق لـ
LoggerوLogStreamفي مواصفات Log and Trace [SWS_LOG_00021]، [SWS_LOG_00039]، [SWS_LOG_00064]، [SWS_LOG_00204]، AUTOSAR AP SWS LogAndTrace ص. 13. - تصميم المنصة والأداء: تم توضيح المقارنة المعمارية بين نمط البناء (Builder Pattern) واستدعاء Single-Call عالي الكفاءة للرسائل المنمذجة في Platform Design PlatformDesign ص. 74.
- التبعيات على مستوى المنصة: يتم توثيق الاستخدام الإلزامي لواجهة
Loggerبواسطة مجموعات المنصة الوظيفية في وثائق البنية المعمارية المعنية AUTOSAR AP EXP SWArchitecture ص. 58، AUTOSAR AP EXP SWArchitecture ص. 50، AUTOSAR AP SWS PlatformHealthManagement ص. 16. - نموذج البيان والنشر: يتم تنظيم تكوين قنوات تسجيل DLT، وتعيينات العمليات، ونقاط نهاية الآلة في مواصفات البيان (Manifest) SWS LogAndTrace ص. 21، ManifestSpecification ص. 416.
- محولات نظام التشغيل وARTI: تم تحديد ربط مخازن تتبع نظام التشغيل الأصلية بـ
ara::logوالتسجيل القريب من الأجهزة عبرTraceArtiفي بنية OSI والتتبع [SWS_LOG_20000]، AUTOSAR AP SWS OperatingSystemInterface ص. 21، AUTOSAR AP SWS LogAndTrace ص. 42.
تم إنشاء دليل الوحدات هذا آليًا استنادًا إلى المواصفات المعيارية وأقسام الوثائق المخصصة من AUTOSAR Adaptive R25-11.
function: 65 enumeration: 3 class: 3 variable: 2 type alias: 1 struct: 1
الفئات
ArgumentFormatLoggerLogStreamالدوال
ArgAutoFloatAutoFloatMaxBinCreateLoggerDecDecFloatDecFloatMaxDfltEngFloatEngFloatMaxHexHexFloatHexFloatMaxOctRegisterConnectionStateHandlerTraceArtiالأنواع
ConnectionStateHandlerالتعدادات
ClientStateFmtLogLevelخريطة المواضيع
لا توجد بيانات عناصر لهذا الإصدار
apext::log
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
Wrapper type for holding a payload argument with its attributes
A type holding a formatting hint
Represents a logger context
Represents a Log message, allowing stream operators to be used for appending data
الإدخال/الإخراج << 5
LogStream & operator<< (LogStream &out, LogLevel value) noexcept; SWS_LOG_00063LogStream & operator<< (LogStream &out, const core::ErrorCode &ec) noexcept; SWS_LOG_00124template <typename Rep, typename Period> LogStream & operator<< (LogStream &out, const std::chrono::duration< Rep, Period > &value) noexcept; SWS_LOG_00125LogStream & operator<< (LogStream &out, const ara::core::Instance Specifier &value) noexcept; SWS_LOG_00126LogStream & operator<< (LogStream &out, const void *value) noexcept; SWS_LOG_00127Create 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"
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;Create a Format instance with Fmt::kBin formatting hint and default precision. .
التحميلات الزائدة Bin 2
constexpr Format Bin () noexcept; SWS_LOG_00215constexpr Format Bin (std::uint16_t precision) noexcept; SWS_LOG_00216Creates 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_00021Logger & CreateLogger (const ara::core::InstanceSpecifier &is) noexcept; SWS_LOG_00256Logger & CreateLogger (ara::core::StringView ctxId, ara::core::String View ctxDescription) noexcept; SWS_LOG_00263Create a Format instance with Fmt::kDec formatting hint and default precision. .
التحميلات الزائدة Dec 2
constexpr Format Dec () noexcept; SWS_LOG_00211constexpr Format Dec (std::uint16_t precision) noexcept; SWS_LOG_00212Create 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;Create a Format instance with Fmt::kDefault formatting hint. .
constexpr Format Dflt () noexcept;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;Create a Format instance with Fmt::kHex formatting hint and default precision. .
التحميلات الزائدة Hex 2
constexpr Format Hex () noexcept; SWS_LOG_00209constexpr Format Hex (std::uint16_t precision) noexcept; SWS_LOG_00210Create 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;Create a Format instance with Fmt::kOct formatting hint and default precision. .
التحميلات الزائدة Oct 2
constexpr Format Oct () noexcept; SWS_LOG_00213constexpr Format Oct (std::uint16_t precision) noexcept; SWS_LOG_00214Register 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;Client state representing the connection state of an external client. .
enum class ClientState : std::int8_t {...};Format specifiers for log message arguments .
enum class Fmt : std::uint16_t {...};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)>;نطاقات الأسماء
- apext::log 0 Klassen, 1 freie Funktionen
- ara::log 4 Klassen, 27 freie Funktionen
مخطط الفئات UML للوحدة
Abgerundete Rahmen = Namespaces; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = modulfremde bzw. externe Basisklassen. Klicken öffnet die Klassenseite.
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني