مرحبا الرفاق!
ماذا يحدث إذا قمت بضبط Spring Boot في أحد التطبيقات logging.level.root=TRACE
؟
سيتم كتابة جميع السجلات في ملف واحد ، حيث سيكون هناك مجموعة من الفئات الصغيرة.
في أفضل الأحوال ، بمساعدة المساعدة ، sifting appender
يمكنك تقسيم معيار واحد كحد أقصى ("تمييز") - على سبيل المثال ، حسب اسم الدفق أو اسم الفصل. وحتى مع ذلك - سيكون هناك قابلية للتسجيل من شفرة المصدر ، والتي يجب أن تدعم قيم التمييز في "MDC".
توقف ، توقف ، توقف! نقوم بإزالة logback
وإضافة
وبواسطة هذا التكوين البسيط نكتب في ملفات سجل منفصلة لكل فئة ومستوى من التسجيل - وحتى في أدلة منفصلة:
Bobbin.yml
destinations:
- name: io.infinite.bobbin.config.FileDestinationConfig
fileName: ("./LOGS/INFINITE/${className}/${level}/${className}_${level}_${date}.log")
وهذا هو ما يحدث:

تخيل الآن أنك تطلب من زميل SRE:
- org.visa.api.Transfer
- ?
- ERROR
- ! .
بالطبع ، يندفع كل شيء من الناحية المفاهيمية نحو ELK (جيدًا ، إما مفلطح أو غرافانا). ولكن لا يتم تكوينها دائمًا في كل مكان - ولا تزال ملفات السجل القديمة الجيدة ذات صلة في كثير من الأحيان.
لكننا نعتقد أننا بحاجة إلى الانتقال من الخاص إلى العام - فالقدرة على القيام بهذه الحيل كما هو مذكور أعلاه
سيعطي احتمالات لأي مسجل في السحابة. بعد كل شيء ، يعتمد كل شيء على مرونة وسهولة التكوين.
سجلنا مقطع فيديو يوضح هذا المثال بالكامل ، ونوضح كيف يعمل
في الديناميكيات:
استمتع بالمشاهدة!
: Java 8 11, Gradle
( — !). , 2020
. logback
log4j2
. API — , Google Flogger
.
— Gradle Maven .
— Open Source .
.
!