1. فهم
تمثل SLF4J (واجهة تسجيل بسيطة لـ Java) واجهة سجل بسيطة مقدمة لـ Java ، ونقطة أكثر أساسية هي واجهة. من خلال استيراد المعلومات في البرنامج إلى نظام السجل وتسجيله ، يمكن تحقيق فصل بين البرنامج ونظام السجل.
عادةً لا تحتوي واجهة واجهة السجل نفسها على إمكانية إخراج السجل الفعلية. لا يزال يحتاج إلى استدعاء واجهة برمجة تطبيقات إطار عمل محددة في الأسفل ، أي أنه في الواقع يجب استخدامه مع إطار السجل المحدد. نظرًا لوجود العديد من أطر السجل المحددة ومعظمها غير متوافقة مع بعضها البعض ، إذا تم الجمع بين واجهة واجهة السجل مع أي إطار عمل ، فقد يتطلب ذلك جسرًا مقابلًا ، تمامًا مثلما يتطلب المزيج بين JDBC وقواعد البيانات المختلفة المختلفة برنامج تشغيل JDBC المقابل.
1. واجهة السجل (واجهة)
1.SLF4J (موصى به)
2.Commons-logging
2. سجلات اتصال SLF4J
عند توصيل SLF4J وإطارات السجل الأخرى ، هناك حاجة إلى桥接器في الوسط. تستخدم بعض أطر التسجيل نفسها واجهة برمجة تطبيقات SLF4J ، لذلك لا تحتاج إلى استخدام الجسور.
Logback هو نسخة محسّنة من Log4J ، ويتم استخدام SLF4J API مباشرة داخليًا ، لذلك لا يوجد جسر. (يُقال إن المسارات و SLF4J من نفس المؤلف)
1.SLF4J-API.JAR> SLF4J-LOG4J12.JAR BRIDGE> LOG4J.JAR
2.SLF4J-API.JAR> LOGBACK-CORE.JAR ، LOGBACK-CLASTIC.JAR
3.SLF4J-API.JAR> SLF4J-Simple.Jar
4.slf4j-api.jar> log4j-slf4j-impl-2.8.2.jar> org.apache.logging.log4j: log4j-api: 2.8.2 ، org.apache.logging.log4j: log4j-core: 2.8.2 ، org.logging.logging.log4j: log4j: log4j2)
2. استخدم SLF4J+log4j2
log4j2.xml
ضعها في دليل الموارد
<؟ إذا تم تعيين الأولوية لتحذيرها ، فإن المستويات الأربعة من السجلات ، والخروج ، والخطأ ، والخطأ ، والتحذير ، يمكن أن تنتج بشكل طبيعي إلى إيقاف التشغيل. هذا يعني أن سجلات log4j2 لم يتم تسجيلها. -> <!-الحالة: تستخدم لتحديد مستوى سجل الطباعة من log4j نفسه. MonitorInterVal: حدد وقت المراقبة الفاصل الزمني لـ log4j إعادة تشكيله تلقائيًا-> <status configuration = "info" recondinterval = "30"> <!-قم بتعيين الخصائص بنفسك ، ثم الوصول إليها من خلال $ {}-> <properties> <property name = "log_home"> $ {web: rootdir} وحدة التحكم وحدة التحكم ، حدد تنسيق الإخراج ومستوى التصفية كمعلومات-> <console name = "console" target = "system_out"> <!-ThresholdFilter يحدد أدنى مستوى من إخراج رسائل السجل-> <thresholdfilter ٪ class {36} ٪ l ٪ m-٪ msg ٪ xex ٪ n "/> </console> <!-Appender 2. الإخراج إلى الملف المحفوظ للتمرير ، فإن الشرط الذي يؤدي إلى تشغيل ملف السجل هو أن ملف السجل أكبر من 3 كيلو بايت ، وآخر 10 سجلات يتم حفظها-> <file name =" alllog "filename = Level = "all" onMatch = "Accept" onMismatch = "deny"/> <patternlayout charset = "utf-8" pattern = "٪ d {yyyyy.mm.dd 'في' hh: mm: ss z} ٪ -5level class {36} ٪ l ٪ m msg ٪ xex n هذا يؤدي إلى تشغيل ملف السجل حفظ هو أن ملف السجل أكبر من 3 كيلو بايت ، وأن أحدث 10 سجلات يتم حفظها-> <rollingfile name = "debuglog" fileName = "$ {log_home} /debug.log" filepattern = "$ {log.path} /deBug-٪i.log"> onMismatch = "deny"/> <patterdayout charset = "utf-8" pattern = "[٪-5Level] [٪ d {yyyy-mm-dd hh: mm: ss}] يتجاوز الحجم الحجم في SizeBasedTriggeringPolicy-> <defaultrolloverstrategy max = "10"/> </rollingfile> <!-Addender 4. التصدير إلى الملف المحفوظ بالتمرير ، فإن الشرط الذي يؤدي إلى حدوث ملف السجل Save هو أول حدث سجل في الدقيقة. يتم إنشاء سجلات الخطأ بالدقائق-> <rollingfile name = "errorlog" filename = "$ {log_home} /error.log" filepattern = "$ {log.path}/error- ٪ d {yyyy-mm-dd_hh-mm} .log charset = "utf-8" pattern = "[٪-5Level] [٪ d {yyyyy-mm-dd hh: mm: ss}] filepattern = "$ {log_home}/$$ {date: yyyy-mm}/$ {file_name}-٪ d {mm-dd-yyyy}-٪ ٪ class {36} ٪ l ٪ m-٪ msg ٪ xex ٪ n "/> <!-يتم ضغط أقصى قيمة ملف السجل في اليوم التالي-> <السياسات> <TimeBasedTriggeringPolicy/> <SiverseBatedTriggeringPolicy/> </solicies> <appender-ref ref = "console"/> <!-<appender-ref ref = "alllog"/>-> <!-<appender-ref ref = "debuglog"/>-> <appender-ref Ref = "errorlog"/> <!-<appender-ref ref =/>/>/loggers>logtest.java
استيراد org.slf4j.logger ؛ استيراد org.slf4j.loggerfactory ؛ سجل الفئة العامة {public logger logger = loggerfactory.getLogger (getClass ()) ؛ public static void main (string [] args) {log.trace ("trace") ؛ log.debug ("debug") ؛ log.Warn ("Warn") ؛ log.info ("info") ؛ log.error ("خطأ") ؛ }} المقالة المرجعية: https://www.vevb.com/article/143486.htm
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.