关于python:在命令期间将日志记录重定向到控制台

Redirect logging to console during command

在我的Django应用程序中,我设置了日志记录,将所有级别记录到文件中,这很有效。

在管理命令期间(仅在那里),我想记录(某些级别)到控制台。

如何(动态)设置日志记录来实现此目的?


它实际上非常简单,我所要做的就是为每个我想重定向的记录器添加一个新的处理程序:

1
2
3
4
5
6
7
8
loggernames = [ ... ]
level = logging.DEBUG
handler = logging.StreamHandler()
handler.setLevel(level)
handler.setFormatter(logging.Formatter('%(levelname)s: %(message)s'))

for name in loggernames:
    logging.getLogger(name).addHandler(handler)