Boost.Log लॉगिंग लाइब्रेरी का उपयोग करने का अनुभव? [बन्द है]


88

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

मैं जिन अन्य पुस्तकालयों पर विचार कर रहा हूं वे अपाचे log4cxx हैं (यह स्थापित करने के लिए थकाऊ लगता है, लेकिन मेरी टीम के साथी शुरू करने के लिए कुछ सरल चाहते हैं) और Pantheios (एक ही समस्या है क्योंकि यह अतिरिक्त फ्रंट और बैक एंड के साथ काम करता है)।


मेरे पास अपना लॉगिंग सिस्टम है, लेकिन मैं स्विच करने पर विचार कर रहा हूं, इसलिए दिलचस्प सवाल!
सेड्रिक एच।

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

4
वास्तव में, यह समझाया गया है कि इसे कुछ सुधारों की आवश्यकता है और रिलीज का वर्तमान लक्ष्य इस गर्मी है - परित्यक्त पुस्तकालयों में शेड्यूल और काम-में-प्रगति रिपॉजिटरी नहीं है। इसके अलावा, यह लेखक द्वारा बताया गया है कि उपयोगकर्ता ने बहुत अच्छा प्रदर्शन किया है। कुछ संदर्भों में जटिलता उपयोगी है और यदि आपको इसकी आवश्यकता नहीं है, तो आप बस प्रदान किए गए आसान मैक्रोज़ का उपयोग कर सकते हैं। इसलिए, मैं आपकी टिप्पणी से सहमत नहीं हूं।
Klaim

40
मैं वास्तव में कामना करता हूं कि स्टैकऑवरफ्लो स्पष्ट रूप से उपयोगी प्रश्नों को बंद कर देगा जैसे "रचनात्मक नहीं"।
स्टीफन

6
मुझे आश्चर्य है, 2015 में कैसा प्रदर्शन रहा? शायद 2.0 का उपयोग करना अब "ठीक है"?
विन्नास दरगिस

जवाबों:


41

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

वर्ष 2010 में Boost.Log के साथ मेरा अनुभव इस प्रकार है।


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

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

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

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

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

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


21

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

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


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

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

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

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

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


7

मैंने हाल ही में एक परियोजना पर एक लॉगिंग प्रणाली को लागू करने पर ध्यान दिया, जिसे मैं शुरू कर रहा था।

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

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

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

कुछ घर-निर्मित मैक्रोज़ ( संदेश में लाइन और सह जोड़ने के लिए) के साथ, log4cpp वास्तव में मेरी परियोजना में उपयोगी साबित हुआ है।

दुर्भाग्य से, मैंने Boost.Log की कोशिश नहीं की। इसलिए इसके बारे में नहीं बोल सकता, लेकिन मुझे उम्मीद है कि यह फीडबैक आपके लिए उपयोगी होगा, यदि आप Boost.Log का रास्ता नहीं चुनते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.