مكتبة تسجيل AC مصممة للأداء العالي ومجموعة ميزات غنية.
한국어 | 简体中文
الميزات الرئيسية | بناء وتثبيت | الاستخدام الأساسي | المساهمة
يحتوي Stumpless على الكثير من الميزات التي تجعل التسجيل في C سريعًا وسهلاً:
الهدف الأساسي لهذه المكتبة هو توفير واجهة تسجيل متسقة لمجموعة واسعة من أهداف السجل. هذا يعني أنه يمكنك التركيز على تحديد الأحداث وحيث تريد أن تذهب ، دون العثور على SDKs الأخرى أو إضافة الشياطين والإضافات للحصول عليها إلى حيث تريد. يمكن أن تضعف التغلب على السجلات إلى:
لا ترى ما تحتاجه؟ قم بإنشاء مشكلة مع طلبك وسنعمل في خارطة الطريق الخاصة بنا!
يتطلب Stumpless فقط cmake و cmake المدعومة من أدوات البناء (مثل GCC أو Visual Studio) للبناء.
# cloning the latest version of the source tree
git clone [email protected]:goatshriek/stumpless.git
# creating a new build directory
mkdir build
cd build
# configuring the new build
cmake ../stumpless
# building stumpless (with 4 threads - adjust as desired)
cmake --build . --parallel 4
# install the library (you probably need sudo to do this)
sudo cmake --install .تحقق من تعليمات التثبيت لمزيد من التفاصيل حول بناء وتثبيت التضخيم في بيئات مختلفة و/أو مع أدوات أخرى.
أبسط طريقة للبدء هي استخدام وظيفة stumplog كبديل مباشر لوظيفة syslog للمكتبة القياسية:
// if you're used to doing this:
syslog ( LOG_INFO | LOG_USER , "My message #%d" , count );
// then you can start by changing to this:
stumplog ( LOG_INFO | LOG_USER , "My message #%d" , count ); إذا لم تكن قد فتحت هدفًا ، فسيقوم هذا بتسجيل الرسائل إلى الهدف الافتراضي للنظام الأساسي: على Linux هذا هو /dev/log ، وعلى نظام Mac ، سيكون ذلك /var/run/syslog ، وعلى جهاز Windows هو سجل أحداث Windows. إذا فتحت هدفًا أو حتى قليلة قبل الاتصال stumplog ، فسيتم إرسال السجلات إلى الهدف الذي تم فتحه مؤخرًا.
إذا كنت تريد مكالمة دالة أقصر ، فيمكنك استخدام وظيفة stump لإرسال رسالة إلى الهدف الحالي. يمكنك أيضًا استخدام مواصفات التنسيق تمامًا كما تفعل مع printf :
stump ( "Login attempt failure #%d for user %s" , count , username ); إذا لم تكن بحاجة إلى محددات تنسيق ، فاستخدم أحد المتغيرات _str : إنها أسرع وأكثر أمانًا!
stump_str ( "Login failure! See structured data for info." ); إذا كنت ترغب في فتح هدف محدد بدلاً من استخدام الافتراضي ، فما عليك سوى فتح السير الذي تحتاجه وابدأ في إرسال الرسائل. على سبيل المثال ، لتسجيل إلى ملف مسمى example.log :
target = stumpless_open_file_target ( "example.log" );
// uses the last opened target by default
stump ( "Login attempt failure #%d for user %s" , count , username );يعد إرسال رسائل عبر الشبكة إلى شيء مثل Splunk أو RsysLog بنفس السهولة:
target = stumpless_open_udp4_target ( "send-to-splunk-example" ,
"mylogserver.com" ); // or use an IP
stump ( "Login attempt failure #%d for user %s" , count , username );إذا كان لديك أهداف متعددة ، فيمكنك إرسال رسائل إلى هدف مختار مثل هذا:
stumpless_add_message ( target ,
"Login attempt failure #%d for user %s" ,
count ,
username );من الشائع تحديد مستويات الشدة مباشرة في مكالمات التسجيل ، لذلك يوفر Stumpless بعض الوظائف الماكرو لجعل هذا المطوّل أقل وأكثر كفاءة. على سبيل المثال ، لتسجيل الرسائل بشدة المعلومات ، يمكنك القيام بذلك:
stump_i ( "this gets logged as an info message" ); وإذا كنت ترغب أيضًا في رؤية ملف المصدر ورقم السطر ومعلومات اسم الوظيفة في كل رسالة ، فيمكنك استخدام _t (T 'for trace):
stump_t ( "this includes source info" ); باستخدام هذه الوظائف ، يتمتع بمزايا إضافية يمكن إزالتها في وقت الترجمة عن طريق تحديد الرموز STUMPLESS_ENABLE_UPTO أو STUMPLESS_DISABLE_DOWNTO . هذا يجعل من السهل تغيير مستويات التسجيل بين التصميمات ، على سبيل المثال الحصول على إصدارات Prod و Debug دون اختلافات في رمز المصدر الخاص بهم.
// be sure to define this before stumpless.h gets included
#define STUMPLESS_ENABLE_UPTO_INFO
// ...
// this log will go through just fine
stump_i ( "I'm doing that thing you asked" );
// this debugging message is completely removed: no runtime impact whatsoever
stump_d ( "DEBUG info: %d, %d, %s" , thing_1 , thing_2 , stringy_thingy );تحقق من الرؤوس الموجودة في Stumpless/Level لرؤية القائمة الكاملة لوظائف اختصار الشدة ، أو مثال مستوى الشدة لرؤية برنامج كامل أثناء العمل.
للحصول على أمثلة أكثر تفصيلاً للسيناريوهات أعلاه ، واستخدام أنواع مستهدفة محددة ، وكيفية التعامل مع هياكل الرسائل الأكثر تعقيدًا ، ومزيد من الأمثلة. وتشمل هذه ملفات رمز مثال مكونة لتجميع وتشغيل وتعديل لبدءك.
لاحظ مشكلة أو لديك طلب ميزة؟ ما عليك سوى إنشاء مشكلة باستخدام أحد القوالب ، وسنرد بأسرع ما يمكن. يمكنك أيضًا إلقاء نظرة على إرشادات مساهمة المشروع لمزيد من التفاصيل حول الطرق المختلفة التي يمكنك من خلالها رد الجميل لمجتمع المصدر المفتوح!
إذا كنت ترغب بالفعل في كتابة بعض التعليمات البرمجية أو إجراء تحديث بنفسك ، فقم بإلقاء نظرة على دليل التطوير للحصول على اتجاه مفصل. هناك بعض الخيارات بناءً على مستوى خبرتك وإلمامك بإعداد المساهمات.
الخيار الأول هو تصفح قائمة المشكلات التي يتم تمييزها مع العلامة جيدة العدد الأول. يتم اختيار هذه المشكلات لتكون كمية صغيرة ولكن ذات مغزى من العمل ، وتتضمن تفاصيل حول النهج العام الذي يمكنك اتباعه لإكمالها. إنها مكان رائع للبدء إذا كنت تتطلع فقط إلى اختبار مياه هذا المشروع أو مساهمة مفتوحة المصدر بشكل عام.
قد يفضل المطورون الأكثر خبرة النظر في القائمة الكاملة للمشكلات في المشروع ، وكذلك خارطة الطريق. إذا كان هناك عنصر يجذب اهتمامك ، فقم بإسقاط تعليق في القضية الحالية أو افتح علامة جديدة إذا لم يكن موجودًا بعد وذكر نيتك في العمل عليها حتى يكون لدى الآخرين طريقة لمعرفة أنه جاري.
إذا كنت مهتمًا بكيفية عمل شيء ما في Tumpless لم يتم شرحه هنا ، فيمكنك التحقق من القسم المناسب من الوثائق ، المخزنة في مجلد المستندات. تحتوي المجلدات الموجودة في المستودع على ملفات README الخاصة بها التي تفصل ما تحتوي عليها وأي معلومات أخرى ذات صلة. يتم أيضًا استضافة وثائق كل وظيفة على موقع المشروع ، لكل من مكتبة C وكذلك روابط اللغة الأخرى مثل C ++.
تتضمن Stumpless أيضًا وثائق في المنشآت المحلية في شكل صفحات man . بمجرد تثبيت المكتبة ، يمكنك التحقق من الوثائق الخاصة بأي ملف رأس (والوظائف التي يحتوي عليها) عن طريق تشغيل MAN باسم الرأس مع الدلائل التي تم استبدالها بالرسومات السفلية ، على سبيل المثال man stumpless_log.h لرؤية وثائق للوظائف التي تسجل رسائل سلسلة بسيطة.
هناك أيضًا العديد من الطرق التي يمكنك من خلالها الوصول إلى فريق المشروع ومجتمع أوسع للحصول على الدعم.