سؤال

ولدي تطبيق ج ++ الذي يسجل لبعض الملفات باستخدام log4cxx (RollingFile appender). أريد لتسجيل الدخول إلى نفس الملف، في نفس الوقت، من وحدة أخرى مكتوب في ج #؛ لذلك أنا تكوين log4net لاستخدام نفس الملف، ولكن لا يمكنني الحصول على رسائل جديدة في. إذا كنت تنشيط ج تسجيل ++، أستطيع أن أرى ج # الرسائل. لذلك أعتقد أنها مسألة تأمين، وبحثت عن خيار التكوين أن أقول log4cxx عدم قفل الملف. جئت إلى نموذج MinimalLock لlog4net، ولكن لا يمكن العثور على أي شيء في log4cxx ... لا أحد يعرف ما اذا كان يمكن القيام به، وكيف؟

ويرجع الفضل في ذلك مسبقا،

وارنستو كولين

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

المحلول

وأعتقد أنك قد واجهت مشاكل التوافق والخلاف مهما التكوين استخدام طالما أنك تحاول أن عمليتين مختلفتين السجل إلى نفس الملف.

ويجب أن ننظر إلى إرسال سجل الأحداث من كلتا العمليتين إلى موقع ثالث، مركزي - إلقاء نظرة على الموقع RemotingAppender في log4net، وأفترض log4cxx له شيئا من هذا القبيل.

نصائح أخرى

وحتى لو كان السؤال هو قديمة جدا (وضعت أجاب)، وربما كنت بالفعل الانتهاء مع المشروع الخاص بك:

وlog4net وlog4cxx هم framworks تسجيل متميزة التي لا تعرف عن بعضها البعض بحيث لا يمكن تكوين منهم أن يكتب إلى نفس الملف. واحد فقط من framworks سوف يكون لديك ملف مفتوح للكتابة، أيهما كان أولا.

وماذا فعلت في وضع مماثل (أ ج ++ تطبيق إرث مع العرف تسجيل وlog4net جديدة ج # وحدة نمطية باستخدام) هو <وأ href = "http://www.google.com/search؟hl=en&q=log4net + العرف + appender وbtnG = جوجل + البحث وسنت = 1234823516335 & عبد القدير = 0 & أوك = log4net + العرف "يختلط =" نوفولو noreferrer "> إنشاء مخصص log4net appender يعيد توجيه آثار في إطار تسجيل القديم. في المشروع حيث شارك I القانون القديم C ++ لديه واجهة COM ويندوز لكتابة رسائل سجل فيها appender مخصص استخدامها.

وهناك طريقة أخرى أن تستخدم C ++ / CLI لإنشاء appender المخصصة.

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