يتم استخدام مستويات التسجيل لتصنيف الإدخالات في ملف السجل الخاص بك. لكنهم يصنفون بطريقة محددة للغاية، أي حسب الإلحاح. يسمح لك المستوى بفصل أنواع المعلومات التالية:
- يمكنك تصفية ملفات السجل الخاصة بك أثناء البحث.
- يمكنك إدارة كمية المعلومات التي تقوم بتسجيلها.
يتم التحكم في كمية ونوع المعلومات المقدمة في النظام وسجلات الأحداث من خلال إعدادات مستوى log4j في ملف التكوين. تكون كل رسالة سجل مسبوقة بمستوى الرسالة.
مستويات التسجيل هي مثال على org.Apache.log4j.Level فصل.
يحتوي Log4j على مستويات التسجيل التالية:
تسجيل مستوى | وصف |
---|---|
الجميع | يتم تشغيل هذا المستوى على جميع مستويات التسجيل. ويتضمن مستويات التسجيل المخصصة التي قمت بتحديدها. بمجرد تكوين هذا وعدم أخذ المستويات في الاعتبار على الإطلاق، سيبدأ جميع المُلحقين في سكب أحداث السجل في ملفات السجل. |
تصحيح | يتم استخدام Debug كثيرًا لتصحيح أخطاء التطبيق في وقت التطوير. ستظهر كل رسالة سجل لتسجيل الملفات بمجرد تعيين هذا المستوى. إنها تنتمي في الأساس إلى المطورين. |
معلومات | يتم استخدام مستوى تسجيل INFO لتسجيل الرسائل المتعلقة بتشغيل التطبيق الروتيني. في الوقت الفعلي، يراقب مسؤولو النظام سجلات المعلومات للتأكد مما يحدث على النظام الآن، وما إذا كانت هناك أي مشكلة في التدفق الطبيعي. |
تحذير | يتم استخدام مستوى سجل WARN للإشارة إلى احتمال وجود مشكلة لديك واكتشاف موقف غير عادي. ربما كنت تطالب باستدعاء إحدى الخدمات، وفشلت عدة مرات قبل الاتصال بإعادة المحاولة التلقائية. إنه أمر غير متوقع وغير عادي، لكن لم يحدث أي ضرر حقيقي، ولا يعرف ما إذا كانت المشكلة ستستمر أم تتكرر. يجب على شخص ما التحقيق في التحذيرات. |
خطأ | يتم استخدام مستوى سجل الأخطاء للإشارة إلى مشكلة خطيرة يجب عليك التحقيق فيها على الفور. ليست خطيرة مثل FATAL، ولكنها لا تزال مشكلة. هذا يعني ببساطة أن طلبك قد وصل إلى حالة غير مرغوب فيها حقًا. على سبيل المثال، إدخال منسق غير متوقع، عدم توفر قاعدة البيانات. |
مميت | يشير مستوى السجل الفادح، مثل الخطأ، إلى وجود مشكلة. ولكن على عكس الخطأ، فإنه يشير إلى حدث خطأ خطير للغاية. لن تفكر كثيرًا في وجودهم في يوم عادي، ولكن بمجرد ظهورهم، فهذا يشير إلى أخبار سيئة للغاية، حتى تطبيق الموت. |
عن | هذا هو أعلى رتبة ممكنة والمقصود منه هو إيقاف التسجيل. |
يتعقب | لقد تم تقديم هذا مؤخرًا في الإصدار 1.2 ويتضمن المزيد من المعلومات لتصحيح سجلات المستوى. |
كيفية تعيين مستويات السجل؟
قم بتعيين مستوى السجل في log4j.properties
log4j.rootLogger=DEBUG, consoleAppender log4j.appender.consoleAppender=org.apache.log4j.ConsoleAppender log4j.appender.consoleAppender.layout=org.apache.log4j.PatternLayout log4j.appender.consoleAppender.layout.ConversionPattern=[%t] %-5p %c %x - %m%n #Log info messages for package 'com.javatpoint.web.controller' log4j.logger.com.javatpoint.web.controller=INFO, consoleAppender
قم بتعيين مستوى السجل في log4j.xml
كيف تعمل مستويات السجل؟
إن عمل مستويات التسجيل بسيط جدًا في الواقع. أثناء وقت التشغيل، سيقوم رمز التطبيق بإنشاء طلبات تسجيل، والتي سيكون لها مستوى. في الوقت نفسه، يحتوي إطار التسجيل على مستوى سجل تم تكوينه، والذي يعمل كعتبة. إذا كان مستوى الطلب عند المستوى الذي تم تكوينه أو مستوى أعلى، فسيتم تسجيله إلى الهدف الذي تم تكوينه. إذا لم يكن كذلك، تم رفضه. انها بسيطة على هذا النحو.
لنعتبر ذلك الترتيب التالي للمستويات:
ALL <trace < debug info warn error fatal off pre> <p>So if, for instance, the logging framework level is set to WARN, requests with any of the levels WARN, FATAL, and ERROR will be accepted, while the rest will be denied.</p> <img src="//techcodeview.com/img/log4j-tutorial/51/log4j-logging-levels.webp" alt="Log4J Logging Levels"> <p>In the above diagram, the vertical header displays the Level of the LogEvent, while the horizontal header shows the Level associated with the appropriate logging configuration.</p> <p>For the first column, you will see how the log works in each level. For example, for WARN, (FATAL, ERROR, and WARN) will be visible. For OFF, nothing will be visible.</p> <h3>Log4j Level Example</h3> <p> <strong>Configuration File:</strong> </p> <pre> # Define the root logger with appender file log = /usr/home/log4j log4j.rootLogger = WARN, FILE # Define the file appender log4j.appender.FILE=org.apache.log4j.FileAppender log4j.appender.FILE.File=${log}/log.out # Define the layout for file appender log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.conversionPattern=%m%n </pre> <p> <strong>Java Program:</strong> </p> <pre> import org.apache.log4j.*; public class LogClass { private static org.apache.log4j.Logger log = Logger.getLogger(LogClass.class); public static void main(String[] args) { log.trace('Trace Message!'); log.debug('Debug Message!'); log.info('Info Message!'); log.warn('Warn Message!'); log.error('Error Message!'); log.fatal('Fatal Message!'); } } </pre> <p>Now compile and run the above program and we would get the following output in c:/usr/home/log4j/log.out file:</p> <pre> Warn Message! Error Message! Fatal Message! </pre> <hr></trace>
برنامج جافا:
import org.apache.log4j.*; public class LogClass { private static org.apache.log4j.Logger log = Logger.getLogger(LogClass.class); public static void main(String[] args) { log.trace('Trace Message!'); log.debug('Debug Message!'); log.info('Info Message!'); log.warn('Warn Message!'); log.error('Error Message!'); log.fatal('Fatal Message!'); } }
الآن قم بتجميع البرنامج أعلاه وتشغيله وسنحصل على الإخراج التالي في ملف c:/usr/home/log4j/log.out:
Warn Message! Error Message! Fatal Message!