ضمن Boot Boot ، حاولت استخدام Log4J لتسجيل الدخول وإضافة ملف log4j.properties في دليل SRC/Main/Resources لتخصيص ملف سجل الإخراج ، لكنه فشل. تكوين مسار التسجيل في Application.Yml تم طباعة طباعة السجل بنجاح ، لكن تسجيل ملف السجل فشل في تصحيحه بنجاح. لقد راجعت المعلومات عبر الإنترنت وقلت أن SPRING BOOT يستخدم التسجيل لتسجيل سجلاتهم افتراضيًا. بعد العديد من المحاولات ، فشل LOG4J ، لذلك تغير إلى تسجيل الدخول إلى التسجيل ، وكان الاختبار النهائي ناجحًا.
1. هل لديك أي أسئلة حول مسار ملف سجل التمهيد الربيعي؟
يتم تكوين خصائص Logging.Path و Logging.File في نفس الوقت ، على النحو التالي:
التسجيل: المسار: /var /log file: test.log
سيتم إنشاء ملف test.log فقط ضمن مسار جذر المشروع ، ولن يتم إنشاء ملف السجل ضمن المسار المحدد (مسار السجل المتوقع هو: logging.path + logging.file).
السبب: في Boot Spring ، تحتاج فقط إلى تكوين أحد الخصائص: Logging.Path و Logging.File. إذا تم تكوينه في نفس الوقت ، فاستخدم سمة logging.file.
عند تكوين خاصية loggin.path ، سيتم إنشاء ملف spring.log في هذا المسار ، أي أن اسم ملف السجل الافتراضي يستخدم spring.log في هذا الوقت.
عند تكوين خاصية loggin.file ، يتم إنشاء ملف سجل بالاسم المحدد ضمن المسار المحدد. الافتراضي هو المسار النسبي للمشروع ، ويمكنك تحديد مسار مطلق لتسجيل.
قطع الأشجار:
المسار:/var/logs # إنشاء ملف spring.log في/var/سجلات ملف الدليل: /var/logs/test.log # إنشاء ملف test.log في/var/logs directory
2. أسباب تسجيل الدخول لاستبدال log4j:
فيما يلي مقتطفات من الإنترنت:
Logback و Log4J متشابهان للغاية. إذا كنت على دراية بـ LOG4J ، فسيكون من السهل جدًا التعود عليه. فيما يلي بعض مزايا التسجيل على log4j:
1. تم إعادة كتابة kernel التي تنفذ تسجيل الدخول بشكل أسرع ، ويتم تحسين الأداء بأكثر من 10 مرات على بعض مسارات التنفيذ الرئيسية. علاوة على ذلك ، لا يحسن Logback الأداء فحسب ، بل يقوم أيضًا بتحميل الذاكرة الأولية.
2. لا يكفي اختبار تسجيل الغرب بعد عدة سنوات ، ساعات لا تحصى من الاختبار. اختبارات الظهور مختلفة تمامًا. من وجهة نظر المؤلف ، من المهم ببساطة اختيار تسجيل الدخول بدلاً من Log4J.
3. الأدوات الكلاسيكية للأسود SLF4J بشكل طبيعي جدا. الأدوات الكلاسيكية للأسود SLF4J. عند استخدام SLF4J ، لا يمكنك حتى أن تشعر بالمسجل الكلاسيكي. ولأنه ينفذ كلاسيك كلاسيك SLF4J بشكل طبيعي للغاية ، فإن التبديل إلى Log4J أو غيره أمر سهل للغاية. لا بأس في توفيرها في حزمة جرة أخرى ، وليس هناك حاجة لمس الرمز الذي تم تنفيذه من خلال SLF4JAPI.
4. مستندات كافية للغاية ، يحتوي الموقع الرسمي على أكثر من 200 صفحة من المستندات.
5. إعادة تحميل ملف التكوين تلقائيًا. عند تعديل ملف التكوين ، يمكن لركوب التسجيل إعادة تحميل ملف التكوين تلقائيًا. عملية المسح سريعة وآمنة ، ولا تتطلب إنشاء مؤشر ترابط مسح آخر. تضمن هذه التقنية تمامًا أن التطبيق يمكن أن يعمل بسعادة في بيئة JEE.
6. ليليث ، ليليث هو مراقب أحداث السجل ، على غرار Log4J Chainsaw. يمكن ليليث أيضًا معالجة كميات كبيرة من بيانات السجل.
7. وضع الحذر والشفاء الودية للغاية. في وضع الحذر ، يتم تشغيل مثيلات متعددة fileAppender تحت JVMs متعددة ويمكن أن تكتب بأمان نفس ملف السجل. سيكون لدى رولينجفيلياس بعض القيود. يمكن لـ FilePender's FilePender والفئات الفرعية ، بما في ذلك RollingFileAppender ، التعافي من استثناءات I/O ودية للغاية.
8. يمكن لملفات التكوين التعامل مع المواقف المختلفة. غالبًا ما يحتاج المطورون إلى الحكم على أن ملفات تكوين التسجيل المختلفة في بيئات مختلفة (التطوير والاختبار والإنتاج). وتكون ملفات التكوين هذه مختلفة قليلاً ، ويمكن تنفيذها من خلال ، بحيث يمكن أن يتكيف ملف التكوين مع بيئات متعددة.
9. المرشحات ، في بعض الأحيان ، تحتاج إلى تشخيص مشكلة وتسجيلها. في Log4J ، لا يمكن تقليل مستوى السجل إلا ، ولكن هذا سيؤدي إلى عدد كبير من السجلات وسيؤثر على أداء التطبيق. في Logback ، يمكنك الاستمرار في الحفاظ على مستوى السجل هذا والقضاء على بعض المواقف الخاصة. على سبيل المثال ، المستخدم الذي تم تسجيل الدخول ، وسيتم ضرب سجلها على مستوى التصحيح ويمكن أن يستمر المستخدمون الآخرون على مستوى التحذير. لتنفيذ هذه الوظيفة ، هناك حاجة إلى 4 أسطر فقط من تكوين XML. يمكنك الرجوع إلى mdcfilter.
10. SiftingAppender (APPEDENDER متعدد الوظائف للغاية) يمكن استخدامه لتقسيم ملفات السجل بناءً على أي معلمات تشغيل معينة. على سبيل المثال ، يمكن لـ SiftingAppender التمييز بين أحداث السجل من متابعة جلسة المستخدم ، ومن ثم سيكون لكل مستخدم ملف سجل.
11. ضغط السجل تلقائيًا الذي تم طباعته. عند إنشاء ملف جديد ، سيتم ضغط ملف السجل الذي تم طباعته تلقائيًا. الضغط هو عملية غير متزامنة ، لذلك حتى بالنسبة لملفات السجل الكبيرة ، لن تتأثر التطبيقات في عملية الضغط.
12. شجرة المكدس لديها نسخة الحزمة. سيحضر Logback بيانات الحزمة عند نشرها.
13. إزالة ملفات السجل القديمة تلقائيًا. من خلال تعيين خاصية MaxHistory الخاصة بـ TimebasedRollingPolicy أو SizeAndTimeBasedFnatp ، يمكنك التحكم في الحد الأقصى لعدد ملفات السجل التي تم إنشاؤها. إذا تم تعيين MaxHistory 12 ، فسيتم إزالة ملفات السجل التي تجاوزت 12 شهرًا تلقائيًا.
باختصار ، لا يعد تسجيل الدخول أفضل من Log4J. دعونا نبني جميع تطبيقاتنا على السوس!
3. إدخال تسجيل الدخول إلى المشروع
أضف تبعيات الحزمة ، نمط Maven:
<Rependency> <roupeD> org.springframework.boot </rougiD> <intifactid> spring-boot-starter-starter </shintifactid> </premited> <reperence> <roupid> net.logstash.logback </roucid> <roupl> net.logstash.log4j </groupid> <StifactId> jsonevenvent-layout </artifactid> <sophy> 1.7 </version> </sependency>
4. إضافة logback.xml
أضف ملف Logback.xml إلى دليل SRC/Main/Resources ، وسيقوم النظام تلقائيًا بتحميل تكوين Logback.xml.
logback.xml:
<؟ value = "e: //test//logback.log"/>-> <property name = "log.path" value = "/chang/desktop/chlogs/logback.log"/> <appender name = "stash"> <Stash> 192.168.220.83:9601 </studnoder> name = "console"> <!-<filter> <stlev> خطأ </level> </filter>-> <encoder> <turda> ٪ d {hh: mm: ss.sss} ٪ contextName [٪ thread] ٪ -5Level logger {36}-٪ msg ٪ n </pattern> </apperend <IPER> $ {log.path} </file> <RollingPolicy> <IbenAmePattern> Logback. ٪ d {yyyy-mm-dd} .log </fileNamepattern> </rollingpolicy> <nigoDer> <turday> ٪ d {hh: mm: ss.sss} ٪ contextname] ٪ msg ٪ n </pattern> </shoder> </espender> <root level = "info"> <appender-ref Ref = "Stash"/> <appender-Ref Ref = "Console"/> <appender-Ref Ref = "file"/> </round> <! الفئة <logger name = "com.dudu.controller.learncontroller" level = "warn" adda = "false"> <appender-ref ref = "console"/> </logger>-> </ispicturation>5. إصدار إصدار Logstash-logback-encoder
في SPRING-BOOT ، إذا كنت تستخدم مشفر Logstash-logback ، فقد تحتاج إلى إخبار Maven رقم الإصدار المحدد لتجنب تعارضات التبعية. على سبيل المثال ، يمكنك ضبط تبعيات نواة التسجيل ، ومسجل كلاسيك ، ومساحة تسجيل الدخول مثل ما يلي:
<Ch.qos.logback.logback. <Rependency> <roupend> ch.qos.logback </rougiD> <StifactId> كلاسيك تسجيل الدخول </intifactid> <الإصدار> $ {ch.qos.logback.version} </version> </repensid> <sperence> <roupend> ch.qos.logback </groupid> <trofactid> <soph> $ {ch.qos.logback.version} </version> </sependency> </reperence> </reperenceManagement>6.
الرجوع إلى:
1.logstash-logback-encoder
لخص
ما ورد أعلاه هو طريقة استخدام Logback و Logstash و Elk لتسجيل ملفات السجل في SPRING BOOT المقدمة إليك. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!