2011-10-27 3 views
15

ログ設定ファイルを使用してTimedRotatinigFileHandlerを実装しようとしています。Python 2.4.3:ConfigParser.NoSectionError:セクションなし: 'フォーマッタ'

何らかの理由でconfigファイルを取得しないだけです。

感謝の意を表します。


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

ありがとうございました!それはそれだった。 – user981163

+6

修正プログラムは何ですか? – ProNeticas

答えて

62

エラーメッセージは厳密には正確ですが、誤解を招くことがあります。

"formatters"セクションがない理由は、ログモジュールが、あなたが渡したファイルをlogging.config.fileConfigに見つけられないためです。

絶対ファイルパスを使用してください。

+1

ありがとうございました!例外メッセージはそれほど役に立ちませんでした。 logging.iniという名前のファイルを作成することで問題は解決します。 –

関連する問題