Straw
Straw

Reputation: 15

Error while using logging's config.fileConfig() using python 3.6, but it works using python 3.8

I am loading a file config in the python's logging module like this

init.py

from logging import getLogger, config


def create_app():
    config.fileConfig("logging.ini")
    logger = getLogger("app")
    ...

Using python 3.8 it works fine, but using python 3.6 I'm getting this error

Traceback (most recent call last):
  File "run.py", line 12, in <module>
    app = create_app()
  File "/srv/appz/cw_tracking_v40/api/__init__.py", line 6, in create_app
    config.fileConfig("logging.ini")
  File "/usr/lib64/python3.6/logging/config.py", line 84, in fileConfig
    handlers = _install_handlers(cp, formatters)
  File "/usr/lib64/python3.6/logging/config.py", line 146, in _install_handlers
    args = section["args"]
  File "/usr/lib64/python3.6/configparser.py", line 1233, in __getitem__
    raise KeyError(key)
KeyError: 'args'

logging.ini

[loggers]
keys=root

[handlers]
keys=file

[formatters]
keys=concise

[logger_root]
level=DEBUG
handlers=file

[handler_file]
class=logging.handlers.RotatingFileHandler
level=DEBUG
formatter=concise
kwargs={"filename":"log/api.log","maxBytes":50_000_000,"backupCount":5}

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

run.py

from api import create_app


app = create_app()

I am sure that the logging module can find the file, because when I try loading a non-existing file I'm getting a different error that I'm familiar with from testing in python 3.8.

Upvotes: 1

Views: 183

Answers (0)

Related Questions