2011-10-27 56 views
15

嘗試使用日誌記錄配置文件來實現TimedRotatinigFileHandlerPython 2.4.3:ConfigParser.NoSectionError:無部分:'格式化程序'

只是不會採取配置文件出於某種原因。

任何建議表示讚賞。


x.py:

import logging 
import logging.config 
import logging.handlers 

logging.config.fileConfig("x.ini") 

MyLog = logging.getLogger('x') 

MyLog.debug('Starting') 

x.ini:

[loggers] 
keys=root 

[logger_root] 
level=NOTSET 
handlers=trfhand 

[handlers] 
keys=trfhand 

[handler_trfhand] 
class=handlers.TimedRotatingFileHandler 
when=M 
interval=1 
backupCount=11 
formatter=generic 
level=DEBUG 
args=('/var/log/x.log',) 

[formatters] 
keys=generic 

[formatter_generic] 
class=logging.Formatter 
format=%(asctime)s %(levelname)s %(message)s 
datefmt= 

Traceback (most recent call last): 
    File "x.py", line 5, in ? 
    logging.config.fileConfig("x.ini") 
    File "/usr/lib/python2.4/logging/config.py", line 76, in fileConfig 
    flist = cp.get("formatters", "keys") 
    File "/usr/lib/python2.4/ConfigParser.py", line 511, in get 
    raise NoSectionError(section) 
ConfigParser.NoSectionError: No section: 'formatters' 

感謝

+0

謝謝Adam!就是這樣。 – user981163

+6

什麼是修復? – ProNeticas

回答

62

錯誤消息嚴格準確但誤導。

「格式化程序」部分缺失的原因是因爲記錄模塊找不到您傳遞給logging.config.fileConfig的文件。

嘗試使用絕對文件路徑。

+1

非常感謝!異常消息不是很有幫助。創建一個名爲logging.ini的文件解決了這個問題。 –