I am trying to format my logger, for which I defined a formatter in the settings life. However I cannot manage to figure out how to set it as the logger's handler's formatter:
def mylogger(name):
logger = logging.getLogger(name)
handler = RotatingFileHandler(logger_path, 'w')
handler.setFormatter(?????)
logger.addHandler(handler)
return logger
Note I need to do this programmatically. I can't declare the handler in the setting file because RotatingFileHandler
may need to be passed some additional arguments.
So the question is: in handler.setFormatter(?????)
how do I get the formatter (by name, for example, just how loggers are retrieved) I defined in the settings file?
You can do it like this:
handler = RotatingFileHandler(logger_path, 'w')
formatter = logging.Formatter('%(asctime)-12s [%(levelname)s] %(message)s')
handler.setFormatter(formatter)
Documentation can be found here: formatter
, setFormatter
.