user1050619
user1050619

Reputation: 20856

python logging to file not working

I have the following config for my logging:

[formatters]
keys=default

[formatter_default]
format=%(asctime)s:%(levelname)s:%(message)s
class=logging.Formatter

[handlers]
keys=console, error_file

[handler_console]
class=logging.StreamHandler
formatter=default
args=tuple()

[handler_error_file]
class=logging.FileHandler
level=ERROR
formatter=default
args=("app.log", "w")

[loggers]
keys=root

[logger_root]
level=DEBUG
formatter=default
handlers=error_file, console

and I use this in my module as

import logging
from logging.config import fileConfig
fileConfig('logging_config.ini')
logger = logging.getLogger()

When I run my module, I dont see the output being logged to the file but only to the console.

Upvotes: 2

Views: 745

Answers (2)

oetoni
oetoni

Reputation: 3867

I can understand only a part from what you are showing but if I understood correctly here you have a working example of all the files..

logger.py

import logging

from logging.config import fileConfig
fileConfig('logging_config.ini')


logger = logging.getLogger('logger')
logger.setLevel(logging.WARNING)


# Testing the Logger
logger.error('We have a problem')
logger.error('We have a problem')
logger.error('We have a problem')

logging_config.ini (your file)

[formatters]
keys=default

[formatter_default]
format=%(asctime)s:%(levelname)s:%(message)s
class=logging.Formatter

[handlers]
keys=console, error_file

[handler_console]
class=logging.StreamHandler
formatter=default
args=tuple()

[handler_error_file]
class=logging.FileHandler
level=ERROR
formatter=default
args=("app.log", "w")

[loggers]
keys=root

[logger_root]
level=DEBUG
formatter=default
handlers=error_file, console

outputs:

enter image description here

and

enter image description here

Upvotes: 0

PRMoureu
PRMoureu

Reputation: 13317

The logging to the file should work fine with ERROR or CRITICAL messages.

Maybe you need to set another level :

[handler_error_file]
class=logging.FileHandler
level=DEBUG
formatter=default

Upvotes: 2

Related Questions