मैं अजगर में हमारे प्रवेश प्रयोजन के लिए RotatingHandler
उपयोग करने के लिए कोशिश कर रहा हूँ। मैंने बैकअप फ़ाइलों को 500 के रूप में रखा है जिसका मतलब है कि यह अधिकतम 500 फाइलें बनाएगा जो मुझे लगता है और मैंने जो आकार सेट किया है वह 2000 बाइट्स है (सुनिश्चित नहीं है कि अनुशंसित आकार सीमा क्या है)।logging.conf फ़ाइल का उपयोग कर RotatingFileHandler का उपयोग कर फ़ाइल में सबकुछ लॉग कैसे करें?
अगर मैं अपने नीचे दिए गए कोड को चलाने, यह एक फ़ाइल में सब कुछ लॉग नहीं। मैं एक फ़ाइल में सब कुछ प्रवेश करना चाहते हैं -
#!/usr/bin/python
import logging
import logging.handlers
LOG_FILENAME = 'testing.log'
# Set up a specific logger with our desired output level
my_logger = logging.getLogger('agentlogger')
# Add the log message handler to the logger
handler = logging.handlers.RotatingFileHandler(LOG_FILENAME, maxBytes=2000, backupCount=100)
# create a logging format
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
my_logger.addHandler(handler)
my_logger.debug('debug message')
my_logger.info('info message')
my_logger.warn('warn message')
my_logger.error('error message')
my_logger.critical('critical message')
# Log some messages
for i in range(10):
my_logger.error('i = %d' % i)
यह वही मेरी testing.log
फ़ाइल में मुद्रित हो जाता है -
2013-11-22 12:59:34,782 - agentlogger - WARNING - warn message
2013-11-22 12:59:34,782 - agentlogger - ERROR - error message
2013-11-22 12:59:34,782 - agentlogger - CRITICAL - critical message
2013-11-22 12:59:34,782 - agentlogger - ERROR - i = 0
2013-11-22 12:59:34,782 - agentlogger - ERROR - i = 1
2013-11-22 12:59:34,783 - agentlogger - ERROR - i = 2
2013-11-22 12:59:34,783 - agentlogger - ERROR - i = 3
2013-11-22 12:59:34,783 - agentlogger - ERROR - i = 4
2013-11-22 12:59:34,783 - agentlogger - ERROR - i = 5
2013-11-22 12:59:34,783 - agentlogger - ERROR - i = 6
2013-11-22 12:59:34,784 - agentlogger - ERROR - i = 7
2013-11-22 12:59:34,784 - agentlogger - ERROR - i = 8
2013-11-22 12:59:34,784 - agentlogger - ERROR - i = 9
यह पता INFO
मुद्रित नहीं करता है, फाइल में DEBUG
संदेश किसी भी तरह .. कोई विचार क्यों यह काम नहीं कर रहा है?
और यह भी, लॉगिंग उद्देश्य के लिए इस अजगर फ़ाइल में अभी, मैं परिभाषित किया है सब कुछ। मैं logging conf
फ़ाइल में उपरोक्त चीजों को परिभाषित करना चाहता हूं और fileConfig()
फ़ंक्शन का उपयोग करके इसे पढ़ना चाहता हूं। मुझे यकीन नहीं है कि logging.conf
फ़ाइल में RotatingFileHandler
उदाहरण का उपयोग कैसे करें?
अद्यतन: -
नीचे है मेरी अद्यतन अजगर कोड है कि मैं log.conf
फ़ाइल के साथ उपयोग करने के लिए संशोधित किया है -
#!/usr/bin/python
import logging
import logging.handlers
my_logger = logging.getLogger(' ')
my_logger.config.fileConfig('log.conf')
my_logger.debug('debug message')
my_logger.info('info message')
my_logger.warn('warn message')
my_logger.error('error message')
my_logger.critical('critical message')
# Log some messages
for i in range(10):
my_logger.error('i = %d' % i)
और नीचे है मेरी log.conf file
-
[loggers]
keys=root
[handlers]
keys=logfile
[formatters]
keys=logfileformatter
[logger_root]
level=DEBUG
handlers=logfile
[logger_zkagentlogger]
level=DEBUG
handlers=logfile
qualname=zkagentlogger
propagate=0
[formatter_logfileformatter]
format=%(asctime)s %(name)-12s: %(levelname)s %(message)s
[handler_logfile]
class=handlers.RotatingFileHandler
level=NOTSET
args=('testing.log',2000,100)
formatter=logfileformatter
लेकिन जब भी मैं इसे संकलित करता हूं, यह मेरी कंसोल पर मिली त्रुटि है -
$ python logtest3.py
Traceback (most recent call last):
File "logtest3.py", line 6, in <module>
my_logger.config.fileConfig('log.conf')
AttributeError: 'Logger' object has no attribute 'config'
किसी भी विचार क्या गलत मैं यहाँ कर रहा हूँ?
धन्यवाद .. तो मुझे फ़ाइल में सब कुछ लॉग इन करने के लिए सेट करने के लिए क्या suppsoed है? –
मैंने एक प्रोजेक्ट में उपयोग की जाने वाली एक कार्यकारी कॉन्फ़िगरेशन से कुछ अंश जोड़े हैं, यह आपको प्रारंभ करना चाहिए। अधिक लॉगर्स के साथ एक पूर्ण उदाहरण https://github.com/gryphius/fuglu/blob/master/fuglu/conf/logging.conf.dist – Gryphius
सहायता के लिए धन्यवाद ग्रिफियस पाया जा सकता है .. एक आखिरी संदेह, तो मैं कैसे हूं पायथन कोड में लॉगर पाने जा रहा है? कोई विचार? यह पहली बार है कि मैं पाइथन के साथ काम कर रहा हूं इसलिए कुछ समस्या है। –