2010-08-18 14 views
85

मैं Boost.Log logging library का उपयोग शुरू करने पर विचार कर रहा हूं। क्या कोई बूस्ट.लोग का उपयोग कर रहा है? कृपया इस संबंध में अपने अनुभव साझा करें।Boost.Log लॉगिंग लाइब्रेरी का उपयोग कर अनुभव?

अन्य पुस्तकालयों मैं विचार कर रहा हूँ अपाचे log4cxx कर रहे हैं (यह स्थापित करने के लिए कठिन लगता है, लेकिन मेरी टीम के साथियों के कुछ सरल आरंभ करना चाहते हैं) और Pantheios (एक ही समस्या के बाद से यह अतिरिक्त आगे और पीछे अंत के साथ काम करता है)।

+0

मेरे पास अपनी खुद की लॉगिंग सिस्टम है, लेकिन मैं स्विच करने पर विचार कर रहा हूं, इतना दिलचस्प सवाल! –

+0

@ सेड्रिक हां, मेरे पास भी अपनी खुद की लॉगिंग प्रणाली है लेकिन मुझे इसके साथ बहुत दूर नहीं मिल सकता है क्योंकि मुझे उच्च प्रदर्शन की आवश्यकता है, कॉन्फ़िगरेशन जैसे कंसोल के साथ-साथ फ़ाइल, डायनामिक रीफिगरिबिलिटी (वैकल्पिक), घटक-वार लॉगिंग और कई धागे का उपयोग करते समय लॉग लॉग नहीं होते हैं। –

+21

bloost.log बहुत धीमी है, कॉन्फ़िगर करने के लिए बेहद जटिल है, यह मुश्किल से इसकी समीक्षा प्रक्रिया पारित कर दिया है, और 1.47 के रूप में अभी भी बूस्ट रिलीज में नहीं है। यह उन पुस्तकालयों में से एक है जो इसे अगले कुछ वर्षों में मुख्य लाइन में नहीं ला सकते हैं, इसलिए अब लॉग 4 सी आदि बेहतर विकल्प हैं। –

उत्तर

21

अपडेट: मैं बूस्ट.लॉग का उपयोग एक गेम इंजन सिस्टम में कर रहा हूं और मैं इससे बहुत खुश हूं। यह तेज़, थ्रेड-सुरक्षित और बहुत ही लचीला है जब आपको इसकी आवश्यकता होती है।

Boost.Log इस वर्ष आने वाली रिलीज में सभी बूस्ट पुस्तकालयों के साथ प्रदान किया जाना चाहिए (2013)।


Boost.Log इस पर एक लॉग प्रणाली सेटअप करने के लिए किया जाता है। यदि आप प्रलेखन पढ़ते हैं, तो आप देखेंगे कि यह इतना लचीला है कि किसी भी लॉगिंग सिस्टम यान के बारे में सोच सकते हैं (जैसे दूरस्थ कंप्यूटर पर लॉगिंग करना)।

तो, there are macro to ease use in simple projects लेकिन मुझे लगता है कि यह पुस्तकालय की तरह है जो ज्यादातर लोगों के लिए उपयोगी है जो वास्तव में लॉगिंग को समझते हैं और अपने आवेदन के लिए एक विशिष्ट वास्तुकला बनाना चाहते हैं।

प्रदर्शन के बारे में, मुझे याद है कि वहाँ प्रस्तुत करने में समस्याओं है कि यह अन्य (कम लचीला) प्रवेश पुस्तकालयों की तुलना में धीमी गति से कर दिया था, लेकिन के रूप में यह एक मसौदा था और पहली रिलीज से बाहर नहीं है फिर भी मैं अगर आप परेशान नहीं होगा ' एक समय-महत्वपूर्ण आवेदन कोडिंग नहीं कर रहे हैं।

अंत में, मुझे लगता है कि यह अब "नया" मूल्यांकन करने के लिए "नया" है। कोई अन्य लॉगिंग लाइब्रेरी नहीं है जो इस के रूप में लचीली है और मुझे यकीन नहीं है कि बहुत से लोगों को इसका उपयोग करने की आवश्यकता महसूस होगी।

अपडेट: बूस्ट.लॉग लेखक के साथ हालिया ईमेल एक्सचेंज के परिणामस्वरूप कुछ डेटा जो टैट बूस्ट का सुझाव देते हैं। लॉग तेजी से लॉगिंग के लिए एक उत्कृष्ट विकल्प है।

40

अद्यतन: जब से यह लिखा गया था, बूस्ट को बदल दिया गया था। मेरे स्वयं के कस्टम लॉगिंग के साथ लॉग इन करें, क्योंकि ज्यादातर कारणों से मैंने विभिन्न कारणों से मेरी सभी परियोजनाओं में सभी बूस्ट निर्भरताओं से छुटकारा पाने का फैसला किया है। यदि आप बूस्ट का उपयोग करने के साथ ठीक हैं I अनुमान है बूस्ट.लोग अभी भी Klaim's answer द्वारा वैध विकल्प है।

बूस्ट.लॉग के साथ मेरा अनुभव वर्ष 2010 में निम्नानुसार है।


मैंने सफलतापूर्वक बूस्ट.लोग को अपने गेम इंजन में एकीकृत किया है और मैं केवल इसके बारे में अच्छी बातें कर सकता हूं। निश्चित रूप से, इसका उपयोग करने में थोड़ा जल्दी है, क्योंकि संस्करण 2 वास्तविक संस्करण होगा जो आधिकारिक बूस्ट बन जाएगा। लॉग।

सावधान रहें कि संस्करण "1.0" उपलब्ध नहीं है। अपडेट प्राप्त करने के लिए आपको रक्तस्राव किनारे (ट्रंक) संस्करण का उपयोग करना चाहिए जो अस्थिर हो सकता है। यदि आप किसी भी गंभीर परियोजनाओं में इस संस्करण का उपयोग करने जा रहे हैं तो इसे ध्यान में रखें। यदि आप खून बहने वाले किनारे संस्करणों या भविष्य के टूटने का उपयोग करने से डरते नहीं हैं, तो इसके लिए जाएं। इसका उपयोग करना वास्तव में अच्छा है क्योंकि यह वर्तमान स्थिति में है।

मैंने लंबे समय से सोचा है कि log4j/log4cxx में पदानुक्रमित लॉगिंग सिस्टम बेहतर था, लेकिन बूस्ट.लॉग ने मुझे अन्यथा सोचने के लिए प्रेरित किया है। फ़िल्टरिंग और विशेषताएँ अधिक लचीला तरीका है।

फ्रंटेंड/बैकएंड द्वारा अलग सिंक का डिज़ाइन अतिरिक्त बैकएंड जोड़ने में वास्तव में आसान बनाता है।सिंक्रनाइज़ेशन समस्याओं या फ़िल्टरिंग के बारे में चिंता करने की आवश्यकता नहीं है जो फ्रंटएंड द्वारा संभाला जाता है। लाइब्रेरी में पहले से ही कई बैकएंड्स, रोटेशनल फाइलें, कंसोल, सिसॉग, विंडोज इवेंट रजिस्टर इत्यादि के साथ आता है।

मैंने अपना खुद का सिंक बैकएंड लिखा है; एक इन-गेम कंसोल में जाता है और एक गंभीर घटनाओं के लिए एक अधिसूचना प्रणाली में जाता है। मुझे अपेक्षा से आसान था, यह कुछ ही मिनटों में चल रहा था और चल रहा था।

अंतिम लेकिन कम से कम नहीं, रखरखाव/डेवलपर वास्तव में भी सहायक है। परियोजना मंचों में आपको बहुत मदद मिलेगी। उन्होंने इस सप्ताह के अंत में दो बग (जहां एक प्रमुख) तय किया है, मैंने रिपोर्ट की :-)

7

मैंने हाल ही में एक प्रोजेक्ट पर लॉगिंग सिस्टम को लागू करने में देखा है।

मैंने लॉग 4cxx की कोशिश की है जैसा कि आपने इसका उल्लेख किया है, यह वास्तव में स्थापित करने के लिए बहुत कठिन है। इसे वीएस2012 (अन्य निर्भरता पुस्तकालयों के साथ ...) के तहत संकलित करने में मुझे कई घंटे लगे, और फिर जब मैंने इसे अपने प्रोजेक्ट में इस्तेमाल किया तो यह अभी दुर्घटनाग्रस्त हो गया। निश्चित रूप से कुछ अजीब चीजें मानक पुस्तकालयों के विसंगतियों के साथ चल रही हैं, लेकिन इसे समझ नहीं सका।

तो मैंने लॉग 4 सीपीपी पर स्विच किया जो मैं उठ गया और बस कुछ ही मिनटों में चल रहा था। मुझे यह सुरुचिपूर्ण और हल्का लगता है, बस मुझे जो चाहिए था। यह ज्ञात लॉग 4j & सह के समान सुविधाएं रखने का बड़ा लाभ है। लॉगिंग सिस्टम जो आपकी टीमवर्क (कॉन्फ़िगरेशन फ़ाइल, आदि के माध्यम से कॉन्फ़िगरेशन) के लिए वास्तविक प्लस हो सकता है

जहां तक ​​प्रदर्शन का संबंध है, यह जांचने के लिए एक फ़ंक्शन कॉल लेता है कि लॉगजर संदेश के स्तर के लिए सक्रिय है या नहीं, फिर वास्तव में डेटा लॉग करने के लिए एक समारोह कॉल।

कुछ घर का बना मैक्रो के साथ

(लाइन & सह जोड़ने के लिए। संदेशों के लिए), log4cpp वास्तव में अपने प्रोजेक्ट में उपयोगी साबित हो गया है।

दुर्भाग्यवश, मैंने बूस्ट का प्रयास नहीं किया। लॉग इन इसके बारे में बात नहीं कर सकता, लेकिन मुझे उम्मीद है कि यदि आप Boost.Log way नहीं जाना चुनते हैं तो यह प्रतिक्रिया अभी भी उपयोगी होगी।

संबंधित मुद्दे