سؤال

هل هناك طريقة لكتابة log4j تسجيل الأحداث إلى سجل الملف كما يجري كتبت بواسطة تطبيقات أخرى.تطبيقات أخرى يمكن أن تكون غير تطبيقات جافا.ما هي العوائق ؟ قفل القضايا ؟ التنسيق ؟

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

المحلول

وLog4j ديه SocketAppender، والتي سوف ترسل الأحداث إلى الخدمة، والتي يمكنك تنفيذها بنفسك أو استخدام تطبيق بسيط واحدة مع Log4j.

وكما يدعم syslogd لسجل أحداث ويندوز، والتي قد تكون مفيدة في محاولة لتوحيد الناتج السجل الخاص بك مع الأحداث من التطبيقات غير جافا.

وإذا كان الأداء قضية على الإطلاق، وتريد خدمة واحدة كتابة ملف السجل، بدلا من محاولة لتنسيق استراتيجية تأمين متسقة بين التطبيقات تسجيل متنوعة.

نصائح أخرى

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

لدي تجربة مع النهجين التاليين:

  1. استخدام بيانات تسجيل الدخول بدلا من ملف نص عادي - يمكن أن تكون باهظة بسبب مشكلات في الأداء ، من ناحية أخرى فإنه من السهل جدا تحليل سجلات إنشاء التقارير.قاعدة بيانات تأخذ الرعاية لجميع مشاكل التزامن.
  2. أما النهج ينطوي على استخدام جبوس الخادم ، والتي يمكن استخدامها لقراءة تسجيل المعلومات من مصادر أخرى.جبوس يمكن أن تعمل في الحد الأدنى من التكوين وبفضل هذا هو خفيفة الوزن حقا (2 ثانية وقت بدء التشغيل).ويمكن الاطلاع على التفاصيل هنا http://docs.jboss.org/process-guide/en/html/logging.html (تسجيل منفصلة Server).Log4J يعتني كل قفل/مشكلات التوافق.

إذا كنت لا تخطط لاستخدام جبوس يمكنك استخدام النهج الثاني قاعدة الخاص بك تسجيل الحل.

وأنا لا أعتقد أن appenders log4j الافتراضي تفعل أي قفل ملف أو التزامن. وبدون مثل هذا تأمين، أنت من المحتمل أن تفقد تسجيل الرسائل أو تلقيها المهترئ.

ولست متأكدا كم هو سهل أن تفعل ملف تأمين في جاوة، ولكن لجعل هذا العمل مباشرة، أعتقد أنك سوف تحتاج إلى فئة فرعية Appender المناسب وتجاوز أسلوب قطع الأشجار، والتفاف مع رمز المزامنة التي الأقفال و يفتح الملف. قد يكون هذا آثار الأداء، اعتمادا على تحميل النظام الخاص بك.

وLog4perl ديه Appender مزامنة، سجل :: :: Log4perl Appender :: المتزامنة، التي يلتف على Appender ويحقق هذا، ويبدو أيضا أن تقدم العلم في السجل الخاص به :: :: Log4perl Appender :: الملف الذي يمنع معشق خطوط. قد ننظر إلى ما هؤلاء القيام به لمعرفة ما اذا كان يمكن أن تكون قابلة للتكرار في جاوة.

وLog4j هو مرنة بما فيه الكفاية التي يمكنك إنشاء إدخالات السجل في تنسيق متوافق مع السجلات بالفعل في الملف. مجرد إلقاء نظرة إلى appenders عن كيفية تنسيق حقول بيانات محددة.

والقلق الرئيسي الخاص بك سوف يكون مع قفل، وعلى الأرجح من قبل التطبيقات الأخرى. تأكد من أن جميع التطبيقات لم يكن لديك تأمين حصري على الملف، ويجب أن يكون على ما يرام.

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