Python 2.4.3: ConfigParser.NoSectionError: No section: 'formatters'

user981163 picture user981163 · Oct 27, 2011 · Viewed 32.2k times · Source

Trying to use a logging configuration file to implement TimedRotatinigFileHandler.

Just won't take the config file for some reason.

Any suggestions appreciated.


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'

Thanks

Answer

ekhumoro picture ekhumoro · Oct 28, 2011

The error message is strictly accurate but misleading.

The reason the "formatters" section is missing, is because the logging module can't find the file you passed to logging.config.fileConfig.

Try using an absolute file path.