عند استخدام Spring Framework ، يمكننا بسهولة تكوين Log4J لإدارة السجل.
تم إصدار Spring 5.0 لفترة من الوقت ، وقامت مؤخرًا بترقية المشروع من Spring 4.3 إلى Spring 5.0. تم حذف org.springframework.web.util.log4jConfigListener المستخدم بواسطة Spring 4.3 دمج Log4J في إصدار SPRING 5.0 ، ولم يعد إصدار LOG4J الإصدار 1.x بعد الآن. قمنا بترقية log4j-1.x إلى log4j-2.x
قدم أولاً حزم الجرة الثلاث من log4j 2
أضف ملف web.xml ضمن المشروع. يسمح هذا الإعداد بإخراج ملف السجل إلى دليل الويب باستخدام $ {web: rootdir}
<context-param> <Param-name> log4jContextName </param-name> <param-value> myapplication </param-value> </sucked-param>
يدعم Log4J 2 أربع طرق تكوين: JSON ، YAML ، الخصائص ، و XML. نستخدم الخصائص لتكوين log4j2 وفقًا للقواعد القديمة.
إضافة ملف log4j2.properties في دليل SRC للمشروع. سيقوم Spring 5.0 تلقائيًا بتحميل الملف افتراضيًا
# قم بتعيين مستوى السجل داخل log4j2 ، القيم الصالحة: تتبع ، تصحيح ، معلومات ، تحذير ، خطأ ، قاتلة. صالح فقط للأحداث في log4j نفسها ، لا يمكن تعيينه. عند التعيين على التتبع ، سترى حالة إخراج مفصلة مختلفة داخل log4j2 الحالة = اسم التكوين المميت = propertiesConfigAppEnders = وحدة التحكم ، i# وحدة التحكم في سجل الإخراج source appender.console.type = console# output source name apperender.console.name = consolelog# typeout type typender.console.console appender.console.layout.pattern = ٪ m ٪ nappender.console.target = system_out# السجل مصدر الإخراج appender.i.type = rollingfile# يمكن استدعاء اسم مصدر Scrolling الحالي الذي يجري تشغيله حاليًا في عنصر تكوين المسجل appendend. $ {web: rootdir} /web-inf/log/info.log# تنسيق اسم الملف لملف السجل المؤرشفة ، حيث يتم استخدام `٪ d {yyyy-mm-dd-hh}` لملء التاريخ تلقائيًا سجل الإخراج نوع التخطيط apperender.i.layout.type = patternlayout# scroll report template appender.i.layout.pattern = ٪ -d {yyyy-mm-dd hh: mm: ss} [٪ p] [٪ c] ٪ m n# تحدد سياسة التخزين لملفات التسجيل. تكمل هذه الاستراتيجية بشكل أساسي عمل ملفات السجل الدورية عمل appender.i.policies.type = السياسات# قطع قطع على أساس الوقت appender.i.policies.time.type = timeBasedTriggeringPolicy# فاصل القطع هو شهر واحد ، أي أن المحفوظات السجلات تتم مرة واحدة في اليوم. إذا كانت قاعدة إعادة تسمية الملف التي تم تكوينها في FilePattern هي $ {web: rootdir}/web-inf/log/info_ ٪ d {yyyy-mm-dd hh-mm}-٪ i ، الحبيبية الدنيا للوقت هو mm ، أي ، الدقائق ، الحجم المحدد بواسطة timebasedtriggeringpolicy هو 1 ، ومضمونًا لتوليد ملف جديد كلتين. إذا تم تغييرها إلى ٪ d {yyyy-mm-dd hh} ، فإن الحد الأدنى من التفاصيل هو ساعات ، يتم إنشاء ملف كل ساعتين. appender.i.policies.time.Interval = 1# تصحيح النطاق الزمني ، يبدأ العد عند 0. إذا تم تعديل = صحيح ، فسيتم إزاحة وقت الختم مع 0 نقاط كحدود. على سبيل المثال ، modulate = true ، الفاصل الزمني = 4hours ، ثم على افتراض أن آخر مرة تم فيها حظر السجل كانت 03:00 ، في المرة التالية التي تم فيها حظر السجل كان 04:00 ، والوقت اللاحق appender.i.policies.time.modulate = algovebister# inggering بناء على حجم ملف loggender.i.ipolicies.size. أكبر من القيمة المحددة حسب الحجم ، trigger rollingappender.i.policies.size.size = 50m# سياسة الكتابة المرتفعة لتخزين الملفات (RolloverStrategy) appender.i.strategy.type = defaultRolloverty# عدد المفرد المُقسّم (تم توليد ملفات trace.i.istrategy. <debug <info <warn <error <fatal <offrootlogger.level = debugrootlogger.appenderref.i.ref = inforollingfilerootlogger.appenderref.i rootlogger.appenderref.consolelog.level = debugبعد اكتمال التكوين ، اكتب اختبار الفصل
استيراد org.apache.logging.log4j.logmanager ؛ استيراد org.apache.logging.log4j.logger ؛ الفئة العامة testclass {public static logger logger = logmanager.getLogger (testclass.class) ؛ اختبار void العام () {logger.info ("المعلومات ...") ؛ }}ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.