log4j.properties ملخص:
1. مقدمة
Log4J هو مشروع مفتوح المصدر من Apache. باستخدام Log4J ، يمكننا التحكم في وجهة تسليم معلومات السجل إلى وحدة التحكم ، والملفات ، ومكونات واجهة المستخدم الرسومية ، وحتى خوادم المقبس ، ومسجلات الأحداث في NT ، و Unix Syslog Daemons ، وما إلى ذلك ؛ يمكننا أيضًا التحكم في تنسيق الإخراج لكل سجل ؛ من خلال تحديد مستوى كل معلومات السجل ، يمكننا التحكم في عملية توليد السجل بعناية أكبر.
يتكون Log4J من ثلاثة مكونات مهمة: أولوية معلومات السجل ، ووجهة الإخراج لمعلومات السجل ، وتنسيق الإخراج لمعلومات السجل. أولوية معلومات السجل من عالية إلى منخفضة. خطأ ، تحذير ، معلومات ، وتصحيح ، والتي تستخدم لتحديد أهمية معلومات السجل هذه ؛ تحدد الوجهة الإخراج لمعلومات السجل ما إذا كان سيتم طباعة السجل على وحدة التحكم أو الملف ؛ ويتحكم تنسيق الإخراج في محتوى عرض معلومات السجل.
2. ملف التكوين
في الواقع ، لا يمكنك أيضًا استخدام ملفات التكوين على الإطلاق ، ولكن تكوين بيئة Log4J في الكود الخاص بك. ومع ذلك ، فإن استخدام ملفات التكوين سيجعل تطبيقك أكثر مرونة.
يدعم Log4J تنسيقات ملفات التكوين ، أحدهما هو ملف تنسيق XML والآخر هو ملف تنسيق خصائص. أدناه نقدم طريقة استخدام تنسيق الخصائص كملف التكوين:
مثال:
log4j.Rootlogger = info ، a1 log4j.appender.a1 = org.apache.log4j.consolePender log4j.appender.a1.layout = org.apache.log4j.patternlayout log4j.appender.a1.layout.conversion.
1. تكوين مسجل الجذر ، بناء الجملة هو:
log4j.Rootlogger = [المستوى] ، اسم التذييل ، اسم التذييل ، ...
من بينها ، المستوى هو أولوية قطع الأشجار ، مقسمة إلى OFF ، قاتلة ، خطأ ، تحذير ، معلومات ، تصحيح ، كل أو المستوى الذي تحدده. توصي Log4J باستخدام أربعة مستويات فقط ، مع الأولوية من ارتفاع إلى منخفض ، وهي خطأ ، وتحذير ، ومعلومات ، وتصحيح الأخطاء. حسب المستوى المحدد هنا ، يمكنك التحكم في المفاتيح إلى المستوى المقابل لمعلومات السجل في التطبيق. على سبيل المثال ، إذا تم تعريف مستوى المعلومات هنا ، فلن تتم طباعة جميع معلومات سجل مستوى التصحيح في التطبيق.
يحدد AppenderName أين يتم إخراج معلومات السجل. يمكنك تحديد وجهات الإخراج المتعددة في نفس الوقت.
2. قم بتكوين Destination Destination Destination Destination ، الذي هو: بناء الجملة:
log4j.appender.appendername = common.qualified.name.opender.class log4j.appender.appendername.option1 = value1 ... log4j.appender.appendername.option = Valuen
من بينها ، الملاحق التي توفرها Log4J هي كما يلي:
org.apache.log4j.consoleappender (وحدة التحكم) ، org.apache.log4j.fileapdender (ملف) ، org.apache.log4j.dailyrypleapdender (إنشاء ملف جديد عند الحجم) ، org.apache.log4j.rollingfiling (إنشاء ملف جديد عند توصيل الملف) ، org.apache.log4j.writerappender (أرسل معلومات السجل بتنسيق الدفق إلى أي مكان محدد)
(1)
عتبة = تحذير: يحدد أدنى مستوى من إخراج رسائل السجل. ForeriateFlush = صحيح: القيمة الافتراضية صحيحة ، مما يعني أن جميع الرسائل سيتم إخراجها على الفور. Target = system.err: افتراضيًا ، إنه: System.out ، حدد وحدة التحكم في الإخراج
(2)
عتبة = تحذير: يحدد أدنى مستوى من إخراج رسائل السجل.
ForeriateFlush = صحيح: القيمة الافتراضية صحيحة ، مما يعني أن جميع الرسائل سيتم إخراجها على الفور.
file = mylog.txt: يحدد أن الرسالة يتم إخراجها إلى ملف mylog.txt.
إلحاق = خطأ: القيمة الافتراضية صحيحة ، مما يعني إضافة الرسالة إلى الملف المحدد. يعني خطأ في الكتابة فوق الرسالة إلى محتوى الملف المحدد.
(3)
عتبة = تحذير: يحدد أدنى مستوى من إخراج رسائل السجل.
ForeriateFlush = صحيح: القيمة الافتراضية صحيحة ، مما يعني أن جميع الرسائل سيتم إخراجها على الفور.
file = mylog.txt: يحدد أن الرسالة يتم إخراجها إلى ملف mylog.txt.
إلحاق = خطأ: القيمة الافتراضية صحيحة ، مما يعني إضافة الرسالة إلى الملف المحدد. يعني خطأ في الكتابة فوق الرسالة إلى محتوى الملف المحدد.
DatePattern = '.' Yyyy-WW: قم بتمرير الملف مرة واحدة في الأسبوع ، أي إنشاء ملف جديد كل أسبوع. بالطبع ، يمكنك أيضًا تحديد شهريًا وأسبوعًا وليومًا ووقتًا ودقيقة. أي أن التنسيق المقابل هو كما يلي:
1) '.' yyyy-mm: شهريًا
2) '.' yyyy-ww: أسبوعيًا
3) '.' Yyyy-MM-DD: كل يوم
4) '.' yyyy-mm-dd-a: مرتين في اليوم
5) '.' yyyy-mm-dd-hh: كل ساعة
6) '.' yyyy-mm-dd-hh-mm: في الدقيقة
(4)
عتبة = تحذير: يحدد أدنى مستوى من إخراج رسائل السجل.
ForeriateFlush = صحيح: القيمة الافتراضية صحيحة ، مما يعني أن جميع الرسائل سيتم إخراجها على الفور.
file = mylog.txt: يحدد أن الرسالة يتم إخراجها إلى ملف mylog.txt.
إلحاق = خطأ: القيمة الافتراضية صحيحة ، مما يعني إضافة الرسالة إلى الملف المحدد. يعني خطأ في الكتابة فوق الرسالة إلى محتوى الملف المحدد.
MaxFilesize = 100kb: يمكن أن تكون اللاحقة KB أو MB أو GB. عندما يصل ملف السجل إلى هذا الحجم ، سيتم التمرير تلقائيًا ، وسيتم نقل المحتوى الأصلي إليه
mylog.log.1 ملف.
MaxBackupIndex = 2: يحدد الحد الأقصى لعدد ملفات التمرير التي يمكن إنشاؤها.
3. تكوين تخطيط معلومات السجل ، وبناء الجملة هو:
log4j.appender.appendername.layout = common.qualified.name.of.layout.class
log4j.appender.appendername.layout.option1 = value1
...
log4j.appender.appendername.layout.option = Valuen
من بينها ، التصميم الذي توفره LOG4J كما يلي:
org.apache.log4j.htmllayout (تخطيط في نموذج جدول HTML) ،
org.apache.log4j.patternlayout (يمكن تحديد وضع التصميم بمرونة) ،
org.apache.log4j.simplelayout (يحتوي على مستوى وسلسلة المعلومات من معلومات السجل) ،
org.apache.log4j.ttcclayout (بما في ذلك الوقت ، الخيط ، الفئة ، إلخ. من توليد السجل)
4. إعدادات تنسيق الإخراج
في ملف التكوين ، يمكنك تعيين تنسيق إخراج السجل من خلال log4j.appender.a1.layout.conversionpattern.
المعلمة:
٪ P: أولوية معلومات سجل الإخراج ، أي تصحيح ، معلومات ، تحذير ، خطأ ، قاتلة ،
٪ D: تاريخ أو وقت نقطة السجل هو الإخراج. التنسيق الافتراضي هو ISO8601. يمكنك أيضًا تحديد التنسيق بعد ذلك ، مثل: ٪ d {yyy mmm dd hh: mm: ss ، sss} ، الإخراج مشابه: 18 أكتوبر 2002 22:10:28 ، 921
٪ R: عدد المللي ثانية للإخراج من بدء التشغيل إلى إخراج معلومات السجل هذه
٪ ج: الفئة التي تنتمي إليها معلومات سجل الإخراج هي عادة الاسم الكامل للفئة
٪ T: إخراج اسم الخيط الذي يولد حدث السجل
٪ L: يحدث حدث سجل الإخراج في موقع حدوث ٪ C. ٪ M (٪ F: ٪ L) ، بما في ذلك اسم الفئة وخيط الحدوث وعدد الخطوط في الكود. مثال: testlog4.main (testlog4.java:10)
٪ X: ناتج NDC (بيئة تشخيصية متداخلة) المرتبطة بالخيط الحالي ، وخاصة في تطبيقات مثل Java Servlets مع متعددة العوامل ومتعددة الخيوط.
٪٪: إخراج حرف "٪"
٪ F: اسم الملف حيث تم إنشاء رسالة سجل الإخراج
٪ L: رقم السطر في رمز الإخراج
٪ م: الرسالة المحددة في رمز الإخراج ومعلومات السجل المحددة التي تم إنشاؤها
٪ n: إخراج كسر خط الإرجاع في النقل ، نظام Windows هو "/r/n" ، ومنصة UNIX هي "/n" لإخراج خط معلومات السجل
يمكن إضافة المعدلات بين ٪ وأحرف نمط للتحكم في الحد الأدنى عرضها ، وعرضها القصوى ، ومحاذاة النص. يحب:
1) ٪ 20C: حدد اسم فئة الإخراج ، الحد الأدنى للعرض هو 20. إذا كان اسم الفئة أقل من 20 ، فهو محاذاة بشكل يمين افتراضيًا.
2) ٪-20C: يحدد اسم فئة الإخراج. الحد الأدنى للعرض هو 20. إذا كان اسم الفئة أقل من 20 ، فإن علامة "-" تحدد المحاذاة اليسرى.
3) ٪. 30C: حدد اسم فئة الإخراج. الحد الأقصى للعرض هو 30. إذا كان اسم الفئة أكبر من 30 ، فسيتم قطع الأحرف الإضافية على اليسار ، ولكن إذا كان أقل من 30 ، فلن تكون هناك مسافات.
4) ٪ 20.30C: إذا كان اسم الفئة أقل من 20 ، فملأ المساحة ومحاذاة اليمين. إذا كان اسمه أطول من 30 حرفًا ، فقم بقطع الأحرف التي يتم اعتراضها من اليسار.
3. تحميل ملف log4j.properties
1. التحميل في وضع الربيع ، والتكوين وفي web.xml:
Spring Loads Log4j.properties ، الذي يوفر log4jconfigListener ، والذي يمكنه تحميل ملف تكوين Log4J ومسار الإخراج Log4J من الموقع المحدد من خلال تكوين web.xml. تجدر الإشارة إلى ذلك
يجب أن يكون Log4JConfigListener قبل مستمع الربيع.
web.xml
<!-قم بتعيين موقع ملف تكوين log4j الذي تم تحميله بواسطة sprng-> <context-param> <Param-name> log4jconfiglocation </param-name> <param-value> web-inf/classes/log4j.properties </parm-value> </sultext-param> <! -> <context-param> <Param-name> log4jrefreshinterval </param-name> <param-value> 10000 </parm-value> </suctext-param> <stanker> <stanker-class> org.springframework.web.util.log4jconfiGlistener </stankerer>
2. يمكن تحميل ملف المورد من خلال فئة الموارد ، ويتم دمجه مع الاستخدام.
الفئة العامة testlog4j {public static void main (string [] args) {propertyConfigurator.Configure ("d: /code/conf/log4j.properties") ؛ logger logger = logger.getLogger (testlog4j. class) ؛ logger.debug ("debug") ؛ logger.error ("خطأ") ؛ }}4. استخدم في البرنامج
قبل استخدام Log4J في البرنامج ، يجب عليك أولاً استيراد المشاع-logging.jar و Logging-Log4J-1.2.9.jar في classpath ووضع log4j.properties في دليل الجذر SRC. سيكون جاهزًا للاستخدام بعد ذلك.
1. احصل على المسجل
باستخدام Log4J ، فإن الخطوة الأولى هي الحصول على مسجل السجل ، والذي سيكون مسؤولاً عن التحكم في معلومات السجل. بناء الجملة هو:
مسجل ثابت عام GetLogger (اسم السلسلة) ،
احصل على المسجل بالاسم المحدد ، وإذا لزم الأمر ، قم بإنشاء مسجل جديد للاسم. تم تسمية الاسم بشكل عام في هذا الفصل ، مثل:
logger static logger = logger.getLogger (serverwithlog4j.class.getName ()) ؛
ملاحظة: يوصى باستخدام Commons-Ungging مع Log4J للتسجيل
logger static static static = logFactory.getLog (yourclass.class) ؛
2. إدراج معلومات السجل (معلومات سجل التنسيق)
عند اكتمال الخطوتين السابقتين الضروريتين ، يمكنك بسهولة إدخال عبارات التسجيل ذات المستويات ذات الأولوية المختلفة في أي مكان تريد تسجيله. بناء الجملة كما يلي:
logger.debug (رسالة الكائن) ؛ logger.info (رسالة الكائن) ؛ logger.warn (رسالة كائن) ؛ logger.error (رسالة الكائن) ؛
على سبيل المثال:
استيراد org.apache.log4j.*؛ logtest الفئة العامة ... {static logger logger = logger.getLogger (logtest.class.getName ()) ؛ Public Static Void Main (String [] args) ... {// تحميل ملف log4j.properties من خلال propertyConfigurator. إذا لم تضيف هذه الجملة ، فهناك Spring Load PropertyConfigurator.Configure ("./SRCLOG4J.Properties") ؛ logger.debug ("Debug ...") ؛ logger.info ("info ...") ؛ logger.Warn ("Warn ...") ؛ logger.error ("خطأ ...") ؛ }}لخص
ما سبق هو تكوين Log4J.Properties وتطبيق التحميل الذي قدمه المحرر. آمل أن يكون ذلك مفيدًا للجميع. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر على الجميع في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!