2012-10-10 13 views
5

घुमावदार नहीं है मेरा rotatingfilehandler तीन बैकअप के साथ 512 बाइट्स पर सेट है। हालांकि फ़ाइल घूमती नहीं है और वर्तमान में 3.9 एमबी पर है क्या मैं गलत कर रहा हूं? मैं उबंटू 10.10 का उपयोग कर रहा हूं, मेरे पास दो डेबियन छवियों पर एक ही कोड है जो एक ही समस्या प्रदर्शित करता है, इसलिए मुझे लगता है कि यह मेरा कोड गलती है।पायथन घुमावदार फ़ाइल हैंडलर

[formatters] 
keys=simpleFormatter 

[loggers] 
keys=root,simpleExample 

[handlers] 
keys=consoleHandler,rfileHandler 

[formatter_simpleFormatter] 
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s 
datefmt= '%Y-%m-%d %H:%M:%S' 

[logger_root] 
level=INFO 
handlers=consoleHandler,rfileHandler,email 

[handler_consoleHandler] 
class=StreamHandler 
level=INFO 
formatter=simpleFormatter 
args=(sys.stdout,) 

[handler_rfileHandler] 
class=handlers.RotatingFileHandler 
backupCount=3 
maxBytes=512 
formatter=simpleFormatter 
level=INFO 
args=('/blabla/logs/blabla.log',) 

[logger_simpleExample] 
level=INFO 
handlers=consoleHandler 
qualname=simpleExample 
propagate=0 

[handler_email] 
class=handlers.SMTPHandler 
level=WARNING 
formatter=simpleFormatter 
args=('target url','sendemail',['[email protected]*****.com'],'EGIM Outstation Logger',('username','pw')) 
+0

क्या आप कृपया निम्न समस्या/कॉन्फ़िगरेशन को खोजने का प्रयास कर सकते हैं जो अभी भी इस समस्या का कारण बनता है? –

+0

आप हैंडलर_फाइलाइल हैंडलर अनुभाग में 'मोड =' w'' निर्दिष्ट करने का प्रयास कर सकते हैं या उसी खंड में 'args' के माध्यम से सभी तर्कों को पास कर सकते हैं – jfs

उत्तर

2

मुझे एक ही समस्या थी।

[handler_rfileHandler] 
class=handlers.RotatingFileHandler 
formatter=simpleFormatter 
level=INFO 
args=('/blabla/logs/blabla.log', 'a', 512, 3) 
3

मैं सिर्फ एक ही समस्या, maxBytes और backupCount एक कॉन्फ़िग फ़ाइल से आ रही के साथ-साथ था: के साथ प्रयास करें।

निम्नलिखित कोड काम नहीं किया:

handler = logging.handlers.RotatingFileHandler(filename = config.get("Logger", 'file'), 
               maxBytes = config.get("Logger", 'max_file_size'), 
               backupCount = config.get("Logger", 'files_to_keep')) 

यह पता चला कि समस्या रास्ता पैरामीटर प्राप्त करने के लिए किया गया था। निम्नलिखित कोड जो तारों के बजाय पूर्णांक मान पास करता है पूरी तरह से काम करता है:

handler = logging.handlers.RotatingFileHandler(filename = config.get("Logger", 'file'), 
               maxBytes = config.getint("Logger", 'max_file_size'), 
               backupCount = config.getint("Logger", 'files_to_keep')) 
+0

पूरी तरह से सही, आपको इन पैरामीटर में पूर्णांक का उपयोग करने की आवश्यकता है। – Stan

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