2012-11-30 18 views
19

मेरे पास कंसोल पर लॉगिंग और विभिन्न प्रारूपों और स्तरों वाली फ़ाइल के लिए लॉगिंग कॉन्फ़िगरेशन फ़ाइल है। मेरी पायथन लिपि में मैं इस कॉन्फ़िगरेशन को लोड कर सकता हूं और मूल रूप से कंसोल और फ़ाइल आउटपुट ठीक है।पायथन की फ़ाइल के साथ लॉगिंग का उपयोग कैसे करें लॉगफाइल फ़ाइल नाम को कॉन्फ़िगर करें और कॉन्फ़िगर करें

मैंने फ़ाइल नाम को कॉन्फ़िगरेशन फ़ाइल में नीचे दिखाए अनुसार सेट किया है।

क्या फ़ाइल नाम को पायथन लिपि में ही सेट करना संभव है?

अजगर कोड:

# set up logging 
logging.config.fileConfig(loginipath) 
logger = logging.getLogger('sLogger') 

# log something 
logger.debug('debug message') 
logger.info('info message') 
logger.warn('warn message') 
logger.error('error message') 
logger.critical('critical message') 

प्रवेश कॉन्फ़िग फ़ाइल:

[loggers] 
keys=root,sLogger 

[handlers] 
keys=consoleHandler,fileHandler 

[formatters] 
keys=fileFormatter,consoleFormatter 

[logger_root] 
level=DEBUG 
handlers=consoleHandler 

[logger_sLogger] 
level=DEBUG 
handlers=consoleHandler,fileHandler 
qualname=sLogger 
propagate=0 

[handler_consoleHandler] 
class=StreamHandler 
level=WARNING 
formatter=consoleFormatter 
args=(sys.stdout,) 

[handler_fileHandler] 
class=FileHandler 
level=DEBUG 
formatter=fileFormatter 
args=('logfile.log',) 

[formatter_fileFormatter] 
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s 
datefmt= 

[formatter_consoleFormatter] 
format=%(levelname)s - %(message)s 
datefmt= 

उत्तर

0

fileConfig() के बाद logging.config.dictConfig() बुला और बस फ़ाइलनाम सेट करके देखें।

+0

आप कैसे फ़ाइल नाम सेट करने के लिए की एक उदाहरण देता हूँ सकता है के लिए एक defaults तर्क जोड़ें। धन्यवाद। –

29

इसलिए की तरह अपने handler_fileHandler अनुभाग बदलें:

[handler_fileHandler] 
class=FileHandler 
level=DEBUG 
formatter=fileFormatter 
args=('%(logfilename)s',) 

और फिर fileConfig कॉल

logging.fileConfig(loginipath, defaults={'logfilename': '/var/log/mylog.log'}) 
+2

मुझे पता है कि यह पुराना है, लेकिन क्या इसे कॉल करने वाले स्क्रिप्ट के बजाय कॉन्फ़िगर फ़ाइल नाम और पथ में फ़ाइल नाम निर्दिष्ट करना संभव है? – frei

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