سؤال

وتطبيق RCP لدينا بتسجيل عادلة قليلا، ولكن فقط INFO وأعلاه هي الإخراج إلى وحدة التحكم. على ويندوز / لينكس هذا على ما يرام، ولكن على OSX يبدو كل تسجيل لتمريرها إلى syslogd و التي ثم يقرر ما يجب تسجيل الدخول وعدم الدخول، وهذا يعني التعامل مع الآلاف والآلاف من رسائل سجل FINEST، وهذا يجعل استخدام أن syslogd 140٪ وحدة المعالجة المركزية وابتلاع الذاكرة. بعد تشغيل التطبيق لدينا لمدة 3 دقائق أن syslogd يستخدم 2.5GB من الذاكرة والنظام بأكمله يصبح غير قابل للاستخدام. قتل أن syslogd / إعادة التشغيل هو العلاج الوحيد. بدء التطبيق من وحدة يجعل من تسجيل الدخول مباشرة إلى وحدة التحكم، وليس هناك مشكلة.

وكيف يمكنني التوقف عن أن syslogd التعامل مع تسجيل RCP بلدي على OSX؟

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

المحلول

ونلقي نظرة على ملف RCP.App/Contents/Info.plist بك RCP التطبيق. الملف الافتراضي الناتجة عن بناء المنتج RCP له <سلسلة> -consoleLog <سلسلة>.

وهذا قد يكون السبب كل شيء ينتهي في أن syslogd.

نصائح أخرى

وأنا لست على الإطلاق دراية الكسوف الحزب الشيوعي الثوري، ولكن لدي بعض الخبرة في سجل النظام. ربما تقوم بتسجيل الدخول باستخدام إما local0 أو local1 كما المنشأة. OSX يوجه local0.* إلى <م> /var/log/appfirewall.log وlocal1 إلى <م> /var/log/ipfw.log . إذا تقوم بتسجيل الدخول إلى أي منشأة، ثم كل شيء قمت بتسجيل سوف تكون مكتوبة إلى القرص.

وأود أن تبدأ من خلال النظر أولا في حال وكيف يمكنك تكوين تسهيل سجل النظام أن التطبيق الخاص بك التسجيل ل. بمجرد معرفة أي منشأة هو تسجيل ل، يجب أن تكون قادرا على إيقاف تشغيله عن طريق تحرير <م> /etc/syslog.conf وإرسال شيطان سسلوغ إشارة HUP. قراءة مقالات اليدوي ل syslogd و < وأ href = "http://developer.apple.com/DOCUMENTATION/DARWIN/Reference/ManPages/man5/syslog.conf.5.html" يختلط = "نوفولو noreferrer"> syslog.conf للحصول على وصف مفصل.

وقد ترغب أيضا في النظر في استخدام المزيد من واجهة تسجيل جافا سقو بدلا من سجل النظام.

ولقد تم أيضا قليلا من هذا في بعض الأحيان. تخميني هو هذا:

إذا كنت بدء الكسوف من خلال Eclipse.app من سطح المكتب، سيتم إعادة توجيه جهازها (المعياري / ستدير) إلى سجل النظام، لذلك فإن أي انتاجها بمقدار الكسوف نفسه (أو الإضافات باستخدام printf) في نهاية المطاف هناك.

وحاول استدعاء ./eclipse في Terminal.app ومعرفة ما إذا كان يمكنك الحصول على الرسائل في إطار المحطة الطرفية بدلا من ذلك، وليس إلى سجل النظام.

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

ولسوء الحظ، لم أعد أعرف أين حدث هذا بالنسبة لي، لذلك أنا لا يمكن اختباره. حظا سعيدا!

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