【发布时间】:2012-11-08 17:34:02
【问题描述】:
在我的 Django 应用程序中,我设置了日志记录以将所有级别记录到一个文件中,效果很好。
在管理命令期间(并且仅在那里),我也想将(某些级别)记录到控制台。
我如何(动态)设置日志记录以实现此目的?
【问题讨论】:
-
@Pol:我知道我可以写入
stderr流,但我的问题是我希望在命令中记录的行为与视图不同。
在我的 Django 应用程序中,我设置了日志记录以将所有级别记录到一个文件中,效果很好。
在管理命令期间(并且仅在那里),我也想将(某些级别)记录到控制台。
我如何(动态)设置日志记录以实现此目的?
【问题讨论】:
stderr 流,但我的问题是我希望在命令中记录的行为与视图不同。
其实很简单,我所要做的就是为每个我想要重定向的记录器添加一个新的处理程序:
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)
【讨论】: