سؤال

نحن نستخدم Windows Windows Tomcat 6. افتراضيا، يذهب إخراج Log4J لتطبيقنا إلى ملف $ {catalina.base} /logs/stdout_.log. يتوافق ملف السجل هذا فقط عند إعادة تشغيل Tomcat، ويشمل اسم الملف دائما التاريخ.

أفضل أن تتصرف مثل dailyrollingfileappender، حيث تقوم بإعادة تسميد الملف عند الدورات عندها ... وبهذه الطريقة يمكنني فقط فتح المفكرة ++ وشاهد سجلات اليوم، نظرا لأن Notepad ++ سيتذكر أنني فتحت نفس الملف أمس. :)

أعلم أنه يمكنني فقط إنشاء ملحق آخر في LOG4J، لكنني سأكون في نهاية المطاف مع STDOUT.LOG وملف سجل آخر، وأخشى أن يكون هناك أداء بسيط يتم ضربه لتسجيل الدخول إلى كلا الملفين. لقد حاولت إضافة swallowoutput = true إلى context.xml لكنني ما زلت أحصل على جميع تسجيل الدخول في Stdout.log. أيه أفكار؟

هل كانت مفيدة؟

المحلول

هل جربت الخطوات المبينة في تسجيل الدخول في تومكاتب إذا اتبعت الخطوات، فسوف ينتهي الأمر بها باستخدام log4j.properties في دليل LIB يمكنك تخصيص محتوى قلبك.

نصائح أخرى

أكبر أداء ضرب هو عند إعداد الكائنات التي تريد تسجيلها (كما تعلمون، عند القيام بذلك logger.info(" operating on " + myObject.toString + " bla bla bla" ) ثم تفعل myObject.toString() لديه أكبر تكلفة). إذا كان لديك بالفعل من Loggين إلى ملف ليست مشكلة. و LOG4J متوازن جيدا ومحسن حقا، ويستخدم المخازن المؤقتة لكتابة السجلات، لذلك لا تجعل مكالمات متكررة للغاية لنظام الملفات.

ما عليك سوى إنشاء ملحق آخر، فستحصل على تخصيص من سجلات Tomcat وسجلات APPALCATION الخاصة بك. كم عدد السجلات التي لديك؟ 1 جيجابايت في اليوم أو أكثر أنك خائف من فقدان الأداء؟ لا تفترض أي شيء قبل اختباره. مجرد الإعداد، والقيام نوعا من اختبار الأداء.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top