1. مقدمة
Log4J هو إطار تسجيل موثوق وسريع ومرن (API) مكتوب في Java ، تم إصداره تحت ترخيص برنامج Apache. تم نقل Log4J إلى لغات مثل C ، C ++ ، C#، Perl ، Python و Ruby.
Log4J قابلة للتكوين بشكل كبير ويمكن تكوينه عبر الملفات الخارجية في وقت التشغيل. يعتمد ذلك على المستوى الأولوية للسجل ويوفر آليات للإشارة إلى معلومات التسجيل إلى العديد من الوجهات ، مثل: قواعد البيانات ، والملفات ، وأجهزة المفاتيح ، وسجلات نظام UNIX ، إلخ.
هناك ثلاثة مكونات رئيسية في log4j:
Loggers: مسؤول عن التقاط معلومات السجل.
الملحقون: مسؤول عن نشر معلومات السجل إلى وجهات مفضلة مختلفة.
التخطيطات: مسؤولة عن تنسيق معلومات سجل الأنماط المختلفة.
ملاحظة: تعتمد هذه المقالة على log4j 2.x وما فوق.
2. التثبيت
log4j-core-xx.jar
log4j-api-xx.jar
log4j-web-xx.jar (مرجع مطلوب لمشاريع الويب)
3. التكوين
قم بإعداد بعض السجلات لإضافة المراجع التالية:
استيراد org.apache.logging.log4j.logmanager ؛ استيراد org.apache.logging.log4j.logger ؛
logger static logger = logManager.getLogger (test.class.getName ()) ؛
يقع موقع ملف التكوين في: دليل الجذر SRC. حتى لو لم يكن هناك ملف تكوين ، فلن يكون هناك خطأ. بشكل افتراضي ، يتم الإخراج في شكل وحدة تحكم .
يختلف ملف تكوين Log4J2 تمامًا عن Log4 (إصدار 1.x مختلف تمامًا) ، ويمكنه استخدام تنسيقات .xml أو .json أو .jsn. التكوين المحدد هو كما يلي ( ${web:rootDir} يمثل دليل جذر الويب):
<؟ ٪ -5LEVEL ٪ class {36} ٪ l ٪ m-٪ msg ٪ xex ٪ n "/> </console> <!-سوف يقوم الملف بطباعة جميع المعلومات. سيتم مسح هذا السجل تلقائيًا في كل مرة يتم تشغيلها ، والتي يتم تحديدها بواسطة سمة إلحاق ، مناسبة للاختبار المؤقت-> <file name = "خطأ" filename = "$ {web: rootdir} /logs/error.log" append = "false"> <! Level = "error" onMatch = "قبول" onMismatch = "deny"/> <patternayout charset = "utf-8" pattern = "٪ d {hh: mm: ss.sss} ٪ -5Level ٪ class {36} ٪ l ٪ m msg ٪ xex ٪ n"/> </file> في كل مرة يتجاوز الحجم الحجم ، سيتم تخزين سجل هذا الحجم تلقائيًا في المجلد الذي تم إنشاؤه بحلول العام وضغطه كأرشيف-> <rollingfile name = "Rollingfile" fileName = "$ {web: rootdir} /logs/history.log" filepattern = "log/$$ {date: yyyy-mm}/history- ٪ d {mm-dd-yyyy}-٪ ٪ msg ٪ xex ٪ n "/> <SiverseBantTriggeringPolicy size =" 50mb "/> </rollingfile> </appenders> <!-ثم حدد المسجل. لن يسري Appender إلا إذا تم تعريف المسجل وإدخاله. -> <GOGGERS> <!-قم بإنشاء مسجل جذري افتراضي-> <root level = "trace"> <appender-ref Ref = "error"/> <appender-Ref Ref = "RollingFile"/> <Appender-Ref ref = "console"/> </rote> </loggers> </configration>4. المشاريع العادية ومشاريع الويب
بالنسبة للمشاريع العادية ، يمكن استخدام التكوين أعلاه بشكل طبيعي بعد الانتهاء من التكوين أعلاه ، وللمشاريع على الويب ، لن يتم إنشاء ملفات السجل. تحتاج إلى إضافة التكوين التالي ضمن عقدة الجذر لـ <web-app> في web.xml:
<!-log4j2.x start-> <stanker> <stanker-class> org.apache.logging.log4j.web.log4jservletContextRistener </stanterer-class> </stanker> <ilter> <ilter-name> log4jservletfilter </filter-name> <Filter-Class> org.apache.logging.log4j.web.log4jservletfilter </filter-class> </filter> <filter-mapping> <filter-name> log4jservletfilter </filter-name> <url-pattern>/*</url-pattern>
لخص
ما سبق هو طريقة استخدام Log4J لتسجيل سجلات في Java. آمل أن يكون محتوى هذه المقالة من بعض المساعدة في دراسة أو عمل الجميع. إذا كان لديك أي أسئلة ، فيمكنك ترك رسالة للتواصل. شكرا لك على دعمك إلى wulin.com.