Reputation: 20856
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
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:
and
Upvotes: 0
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