تكوين السجل الافتراضي لـ Springboot
SpringBoot خارج المربع ويوفر لك إطار التسجيل افتراضيًا ، باستخدام Commons Logging ، لكن التكوين الافتراضي يوفر أيضًا دعمًا للسجلات الشائعة ، مثل: تسجيل Java Util ، Log4J ، Log4J2 والأسود. يمكن لكل مسجل استخدام وحدة التحكم أو الملف لإخراج محتوى السجل من خلال التكوين.
إخراج وحدة التحكم
فيما يتعلق بسجلات السجل ، INFO مستويات السجل الخمسة الأولى هي المستوى: من المرتفع إلى المنخفض ، ERROR ، WARN ، DEBUG ، TRACE ، فإن المستوى الأدنى سيؤدي إلى إخراج معلومات عالية المستوى ، ولن يخرج المستوى العالي معلومات منخفضة المستوى. على سبيل المثال: إذا تم تعيين المستوى على ERROR ، فلن يتم إخراج معلومات WARN INFO DEBUG . في Springboot ، يتم تكوين مستويات ERROR WARN ومستويات INFO افتراضيًا إلى وحدة التحكم. لا يوجد مستوى FATAL في تسجيل الخروج ، وسيتم معاملته كمستوى ERROR .
يمكننا التبديل إلى مستوى التصحيح بطريقتين:
application.properties . عندما يتم ضبط هذه الخاصية على TRUE ، فإن المسجل الأساسي (بما في ذلك الحاويات المدمجة ، والإسبات ، والربيع) سوف يخرج المزيد من المحتوى ، لكن السجلات التي طبقتها بنفسك لن تخرج إلى مستوى التصحيح.الإخراج الملون
يدعم Springboot إخراج سجل الألوان منذ الإصدار 1.4.0. إذا كانت المحطة الخاصة بك تدعم ANSI ، فإن إعداد إخراج اللون سيجعل السجل أكثر قابلية للقراءة. مدعوم من خلال تعيين المعلمة spring.output.ansi.enabled في application.properties .
NEVER : تعطيل الإخراج بلون ANSI (العنصر الافتراضي)DETECT : سوف تحقق ما إذا كانت المحطة تدعم ANSI. إذا كانت الإجابة بنعم ، استخدم إخراج اللون (العنصر الموصى به)ALWAYS : دائما استخدام تنسيق بلون ANSI للإخراج. إذا لم تدعمها المحطة ، فسيكون هناك الكثير من معلومات التداخل. لا ينصح باستخدامه.إخراج الملف
سيتم الإخراج الافتراضي لـ SpringBoot فقط إلى وحدة التحكم ولن يتم تسجيله في الملفات ، ولكن عادةً ما نحتاج إلى التسجيل في الملفات عند استخدام بيئة الإنتاج.
لزيادة إخراج الملفات ، تحتاج إلى تكوين سمة logging.file أو logging.path في application.properties .
logging.file : اضبط الملف ، والذي يمكن أن يكون مسارًا مطلقًا أو مسارًا نسبيًا. على سبيل المثال: logging.file = my.loglogging.path : إعداد الدليل ، سيتم إنشاء ملف spring.log ضمن هذا الدليل وسيتم كتابة محتوى السجل ، مثل: logging.path =/var/logسيتم اقتطاع ملف السجل بحجم 10 ميجابايت ، مما يؤدي إلى ملفات سجل جديدة. المستويات الافتراضية هي: خطأ ، تحذير ، معلومات
التحكم في المستوى
في Springboot ، تحتاج فقط إلى تكوين التحكم في مستوى إكمال التسجيل في application.properties .
تنسيق التكوين: Logging.Level.*= المستوى
logging.level : بادئة التحكم في مستوى السجل ، * هو اسم الحزمة أو اسم المسجلLEVEL : تتبع الخيارات ، تصحيح ، معلومات ، تحذير ، خطأ ، مميت ، قبالةعلى سبيل المثال:
DEBUG .WARNتكوين السجل المخصص
إذا كنت لا ترغب في استخدام التكوين الافتراضي ، فما عليك سوى إضافة ملف تكوين السجل الخاص بك. نظرًا لأن خدمات التسجيل عادة ما يتم تهيئتها قبل إنشاء ApplicationContext ، فلا يتعين التحكم فيها من خلال ملف تكوين Spring . لذلك ، لا يزال من الممكن دعم التحكم في السجل وإدارته بشكل جيد من خلال خصائص النظام وملفات التكوين الخارجي للتمهيد الربيعي التقليدي.
اعتمادًا على أنظمة تسجيل مختلفة ، يمكنك تنظيم اسم ملف التكوين وفقًا للقواعد التالية ويمكن تحميله بشكل صحيح:
توصيات SPRINGBOOT الرسمية لاستخدام اسم ملف مع -spring كتكوين السجل الخاص بك (مثل استخدام Logback -spring.xml بدلاً من logback.xml)
تنسيق الإخراج المخصص
في Springboot ، يمكنك التحكم في تنسيق الإخراج من خلال تكوين المعلمات التالية في application.properties :
logging.pattern.console : يحدد الإخراج النمط إلى وحدة التحكم (LOGGER JDK غير مدعوم)logging.pattern.file : يحدد نمط الإخراج إلى الملف (JDK Logger غير مدعوم)يمكن أيضًا تعريف هذه التنسيقات مباشرة في ملف تكوين السجل ، وليس في ملف تكوين التطبيق.
قوالب ملفات تكوين التسجيل الشائعة
<؟ converterClass = "org.springframework.boot.logging.logback.colorConverter"/> <conversionRule conversionword = "wex" converterclass = "org.springframework.boot.logging.logback.whitespaceThRowableProxyConverter"/> QuadvationRual CONSTORTERCLASS = "org.springframewokor hh: mm: ss.sss}) {pint} ٪ clr ($ {log_level_pattern:-٪ 5p}) ٪ clr ($ {pid:-}) {magenta} ٪ clr (-) {pint} clr ([٪ 15.15t]) ٪ clr (٪-40.40logger {39}) {cyan} ٪ clr (:) {faint} ٪ m ٪ n $ {log_exception_conversion_word:-٪ wex}}} "/> <!-إعدادات إخراج وحدة التحكم-> <appender name =" console " ٪ -5LEVEL: يعرض المستوى 5 أحرف من ٪ msg: رسالة السجل ، ٪ n هي حرف خط جديد-> <!-<datple> ٪ d {yyyy-mm-dd hh: mm: ss.sss} <Harset> utf8 </charset> </shoder> </appender> <!-إنشاء ملفات السجل كل يوم-> <appender name = "file"> <LollingPolicy> <!-إخراج اسم الملف بواسطة ملف السجل-> <FileNamePattern> $ {log_home}/mixedsys.٪D {yyyy-mm-dd}. </rollingpolicy> <croder> <turday> ٪ d {yyyy-mm-dd hh: mm: ss.sss} [٪ thread] ٪ -5Level ٪ logger {36}-٪ msg ٪ n </pattern> </encoder> </appender name = "org.springframework.web.servlet.mvc.method.annotation.ExceptionHandLerexceptionResolver" Level = "debug"> <appender-ref ref = "console" /> <appender-ref ref = hibernate sql-> <!-<logger name = "org.hibernate.type.descriptor.sql.basicbinder" level = "trace" /> <logger name = "org.hibernate.type.descriptor.sql.basicextoro" level = "debug" /> Level = "Debug" /> <logger name = "org.hibernate.engine.queryparameters" level = "debug" /> <logger name = "org.hibernate.engine.query.hqlqueryplan" sweat = "debug". ref = "console" /> <appender-ref ref = "file" /> </round> <!-سجل بشكل غير متزامن إلى قاعدة البيانات-> <!-<appender name = "db" <Url> jdbc: mysql: //127.0.0.1: 3306/databasename </url> <serph> الجذر </user>ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.