- ثبّت حزمة SDK الخاصة ببيئة التشغيل لديك.
- أبقِ مفتاح الاستيعاب الخاص بالمشروع خارج نظام إدارة الشيفرة المصدرية.
- اضبط قيمًا ثابتة للخدمة والبيئة والإصدار.
- أرسل حدثًا تجريبيًا آمنًا واحدًا من التطبيق.
- اقرأ نتيجة التسليم. ثم ابحث عن الحدث في LogBrew.
الإشارات والسياق المشترك
البطاقات الخمس الأولى إشارات. أما الإصدار والبيئة فهما سياق لهذه الإشارات، وليسا نوع حدث مستقلًا.log
رسالة منظّمة لها خطورة ومصدر ووقت وسياق آمن.
trace_span
عملية واحدة محددة التوقيت، مرتبطة بتتبّعها عبر معرّفَي التتبّع والـ Span.
issue
عطل ملتقَط، وخطورته، وتفاصيل الخطأ التي أرسلها التطبيق.
action
إجراء في تطبيقك، مع كيان وجلسة وخصائص آمنة اختيارية.
metric
قياس رقمي واحد له اسم ونوع وقيمة ووحدة ونمط زمني (temporality).
الإصدار والبيئة
نسخة الشيفرة والبيئة المرفقتان بالأحداث اللاحقة في نطاق الـ SDK نفسه.
قيم الخطورة
استخدمinfo أو warning أو error أو critical للسجلات والمشكلات. يمكن لحزم
SDK وبيئات التشغيل إرسال أسماء بديلة مثل trace أو debug أو warn أو fatal.
ويحوّل LogBrew الأسماء البديلة المقبولة إلى القيم المعيارية.
التثبيت عبر مدير الحزم
ثبّت حزمة SDK الخاصة ببيئة التشغيل التي ترسل بيانات القياس. استخدم إعدادات SDK أو إعدادات الاستيعاب الخاصة بالمشروع من LogBrew. لا تستخدم قيم تسجيل الدخول إلى الحساب في إعدادات الـ SDK.تتبّع الطلبات في Node.js
لربط التتبّع بجذر الطلب، استخدم@logbrew/sdk بالنسخة 0.1.16 أو أحدث،
و@logbrew/node بالنسخة 0.1.11 أو أحدث.
يتطلب Express الحزمة @logbrew/express بالنسخة 0.1.5 أو أحدث. ويتطلب Fastify
وNestJS حزمة LogBrew الخاصة بكل منهما بالنسخة 0.1.6 أو أحدث.
تنشئ عمليات الدمج هذه Span طلب واحدًا أو تكمله. يستخدم اسم الـ Span قالب المسار
المطابق. وترث السجلات والمشكلات والإجراءات والمقاييس داخل الطلب سياق التتبّع
والـ Span الخاص به. الحزمة الأحدث لا تضيف سياقًا إلى الأحداث التي أُرسلت قبل الترقية.
لا يلتقط دمج الطلبات الافتراضي نص الطلب أو الاستجابة، ولا سلاسل الاستعلام، ولا
الترويسات العشوائية، ولا قيم traceparent الخام.
ASP.NET Core
تكتشف CLI بالنسخة v0.1.55 أو أحدث مشاريع .NET 10 التي تستخدمMicrosoft.NET.Sdk.Web. اعرض خطة الإعداد مسبقًا من جذر المشروع. هذا الأمر لا
يغيّر ملفاتك:
LOGBREW_SERVER_API_KEY وLOGBREW_SERVICE_NAME
وLOGBREW_ENVIRONMENT وLOGBREW_RELEASE خارج نظام إدارة الشيفرة المصدرية. سجّل
LogBrew لدى المضيف، وضع الـ middleware الخاص به بعد التوجيه (routing):
LOGBREW_SERVER_API_KEY، لا يفعل استدعاءا التسجيل شيئًا، وهما آمنان. تحدد
حزمة NuGet لـ ASP.NET Core
دمج المضيف المنشور. وتغطي إرشادات الحزمة العامة دورة حياة المضيف، والتقاط الطلبات،
والتقاط المشكلات، وحدود الخصوصية، والتعافي.
Java مع Maven أو Gradle
تكتشف CLI بالنسخة v0.1.54 أو أحدث الملفاتpom.xml وbuild.gradle
وbuild.gradle.kts. اعرض خطة الإعداد مسبقًا من جذر المشروع. هذا الأمر لا يغيّر
ملفاتك:
LogBrewClient يملكه التطبيق.
ويفعّل هذا الـ bean عمليات دمج اختيارية للطلبات والاستثناءات وعميل HTTP وJDBC
والذاكرة المؤقتة.
التقاط Spring Kafka لا يعمل إلا إذا فعّلته صراحةً باستخدام
logbrew.kafka.enabled=true. ويستخدم اعتمادية Spring Kafka وbean العميل الموجودين
في التطبيق.
يحدد ملف بناء Java SDK على Maven Central
الحزمة المنشورة. وتغطي إرشاداتها العامة التسليم المحدود عبر HTTP، والإيقاف،
والتسجيل، وإعدادات Spring، والربط مع Kafka، وحدود الخصوصية.
C++ مع CMake
يتطلب C++ SDK معيار C++17 وCMake 3.16 أو أحدث. تكتشف CLI بالنسخة v0.1.39 أو أحدث ملفCMakeLists.txt في الجذر. شغّل logbrew setup --json لعرض خطة الإعداد هذه
مسبقًا دون تغيير ملفاتك:
FetchContent_MakeAvailable الأخير وربط الهدف السابق بما
يلي:
logbrew-cpp-0.2.3.tar.gz المخصص لـ C++ من
إصدار C++ 0.2.3.
تدعم الحزمة بعد فك ضغطها cmake --install
وfind_package(LogBrew 0.2.3 CONFIG REQUIRED). وتغطي إرشادات الحزمة السياق المحدد
الأنواع، وأدلة المشكلات، وأحداث الـ Span، والمقاييس، والإجراءات، والتسليم عبر HTTP.
خرائط المصدر في JavaScript
لعمليات بناء Vite، اتبع خرائط المصدر لـ JavaScript. تغطي الإرشادات المكوّن الإضافي، ومفتاح ملفات البناء (artifact)، وفحوص الرفع، ومشكلة جديدة بمواضع المصدر الأصلية.Apple وFlask وReact Native
استخدم منتج Swift المسمىLogBrew لبيانات القياس. أضف LogBrewCrash فقط لالتقاط
أعطال Apple وحالات التجمّد. اتبع
أعطال Apple والتجمّد لرفع ملفات dSYM
وتحليل الرموز المستضاف.
مع Flask، اتبع إعداد Flask.
مع React Native وExpo، اتبع React Native. تغطي الإرشادات
مفتاح المشروع، وسجلًا تجريبيًا آمنًا، وأخطاء التسليم، وإعدادات Expo Metro لخرائط
المصدر في الإنتاج.
تتبّع الطوابير في JavaScript
عمليات دمج الطوابير في Node حزم npm مستقلة. ثبّت حزم LogBrew الأساسية لـ JavaScript، وحزمة الدمج، وعميل الطابور أو الوسيط (broker) الذي يستخدمه تطبيقك بالفعل.
استخدم هذه الحزم لربط التتبّع بشكل صريح يملكه التطبيق حول استدعاءات الطابور التي
تختارها. لا يملك LogBrew اتصالك بالوسيط، ولا ينشئ طوابير، ولا يعدّل كل العملاء
تلقائيًا على مستوى التطبيق كله.
الغلاف الأصلي المباشر
استخدمPOST /api/telemetry/ingest فقط لعميل مخصص لا تدعمه أي حزمة LogBrew SDK
عامة. تستخدم حزم SDK العامة تنسيق الدفعات الخاص بها، ونقطة النهاية هذه لا تقبل ذلك
التنسيق.
أرسل من 1 إلى 512 عنصرًا في الغلاف الأصلي الواحد. تشترك كل عناصر الغلاف الواحد
في المشروع والخدمة والإصدار والبيئة وسياق التتبّع الاختياري.
حقول العناصر
لكل عنصرtype وكائن data. يستخدم عنصر السجل level، ويستخدم عنصر المشكلة
severity. ويقبل كلاهما القيم الواردة في قيم الخطورة.
أرسل
id مع كل عنصر عندما يستطيع عميلك إعادة المحاولة. عندما تعيد محاولةٌ إرسال
عنصر مقبول مرة أخرى بالقيمة id نفسها والمحتوى نفسه، لا يخزّنه LogBrew مرة ثانية.
وتعدّ الاستجابة هذا العنصر ضمن already_accepted.
مثال على الطلب
احفظ JSON التالي باسمtelemetry-envelope.json. استبدل معرّف المشروع في المثال
بمعرّف المشروع الدقيق لمفتاح الاستيعاب. اضبط الطوابع الزمنية على الوقت الحالي
بتوقيت UTC للحدث التجريبي. واستخدم قيم الخدمة والإصدار الخاصة بك.
telemetry-envelope.json
LOGBREW_INGEST_BEARER من خلال إعداداتك
المحمية. لا تطبعها، ولا تستخدم بيانات اعتماد الحساب. يرسل الأمر التالي الملف مرة
واحدة، ويتطلب curl 7.76.0 أو أحدث:
--fail-with-body على نص الخطأ، ويُرجع حالة خروج
غير صفرية عند أخطاء HTTP. فشل الشبكة أو انتهاء المهلة لا يخبرك هل قبل LogBrew الطلب
أم لا. لا ترسل الملف نفسه مرة أخرى إلا إذا كانت لعناصره قيم id. ومن دون قيم
id، قد يؤدي الإرسال الثاني إلى تخزين العناصر مرتين.
الاستجابة
يُرجع الطلب الناجح200 مع أعداد العناصر الجديدة حسب كل تدفق. ويعدّ
already_accepted العناصر التي سلّمها طلب سابق بالفعل.
الأخطاء
مفتاح الاستيعاب غير الصالح أو المُبطل يُرجع401. والمفتاح الخاص بمشروع آخر يُرجع
401 أيضًا:
422 مع الرمز
validation_failed. يذكر الحقل error القاعدة. ويخبرك الحقل next بكيفية إصلاح
الطلب. مثلًا، "items": [] يُرجع:
422 مع الخطأ
native telemetry envelope exceeds the item limit. قسّمه إلى دفعات من
512 عنصرًا أو أقل. واحتفظ بالمشروع والسياق المشترك في كل دفعة.
لحدود الاستخدام وحدود المعدّل وأعطال الخدمة، اتبع code المُرجَع في
أخطاء API.
