2012-05-14 15 views
9

घूर्णन और संलग्न करने के साथ लिखने के लिए, बूस्ट लॉग को कॉन्फ़िगर कैसे करें?घूर्णन और संलग्न करने के साथ लिखने के लिए, बूस्ट लॉग को कॉन्फ़िगर कैसे करें?

और प्रोग्राम को पुनरारंभ करने के बाद, लॉग फ़ाइल को साफ़ न करें।

int init_log() 
{ 
    typedef sinks::synchronous_sink<sinks::text_file_backend> file_sink; 
    boost::shared_ptr<file_sink> sink(new file_sink (
     keywords::file_name = "app.log", // only one files 
     // keywords::open_mode = (std::ios::out | std::ios::app), // is not append 
     keywords::open_mode = (std::ios::out | std::ios::app), // is not rotated 
     keywords::rotation_size = 10 * 1024 
    )); 
} 
+1

मैं ऐसा करने के तरीके पता नहीं है, लेकिन log4cpp यह सब करता है और व्यापक रूप से इस्तेमाल किया जाता है। http://log4cpp.sourceforge.net/api/classlog4cpp_1_1RollingFileAppender.html –

+0

[बूस्ट.लॉग - घुमावदार फ़ाइलों में संलग्न करने के लिए टेक्स्ट सिंक बैकएंड को कॉन्फ़िगर कैसे करें] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/8418917/ बूस्ट-लॉग-कैसे-टू-कॉन्फ़िगर-ए-टेक्स्ट-सिंक-बैकएंड-टू-एपेंड-टू-रोटेटेड-फाइलें) –

उत्तर

5

यह पता करने का प्रयास करें (कुंजी कुछ पैटर्न का उपयोग कर लॉग नाम जोड़ने और "app.log" जैसा कि इसके नाम फिक्सिंग नहीं है) इस flre रोटेशन सक्षम हो जाएगा और डेटा प्रत्येक बनाया से जोड़ दिए जाएंगे फ़ाइल। लॉग समाशोधन के बारे में, जब तक कि आप निर्दिष्ट नहीं किया है के रूप में कस्टम file_collector आपके लॉग में बरकरार रहना चाहिए :)

typedef sinks::synchronous_sink<sinks::text_file_backend> file_sink; 
boost::shared_ptr<file_sink> sink(new file_sink(
     keywords::file_name  = "app%m%d%Y_%H%M%S_%5N.log", // file name pattern 
     keywords::rotation_size = 10*1024      // rotation size, in characters 
     )); 
+5

प्रत्येक डेटा आमंत्रण के लिए लॉग डेटा को उसी लॉग फ़ाइल में जोड़ा जाना चाहिए, जब तक रोटेशन आकार तक नहीं पहुंच जाता । उस कोड के साथ, प्रत्येक रन एक नई लॉग फ़ाइल बनाता है। – ixe013

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

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