django - 如何以编程方式设置格式化程序?
问题描述
我正在尝试格式化我的记录器,为此我在设置生活中定义了一个格式化程序。但是我无法弄清楚如何将其设置为记录器的处理程序的格式化程序:
def mylogger(name):
logger = logging.getLogger(name)
handler = RotatingFileHandler(logger_path, 'w')
handler.setFormatter(?????)
logger.addHandler(handler)
return logger
注意我需要以编程方式执行此操作。我无法在设置文件中声明处理程序,因为RotatingFileHandler
可能需要传递一些额外的参数。
所以问题是:handler.setFormatter(?????)
如何获取我在设置文件中定义的格式化程序(例如,按名称,如何检索记录器)?
解决方案
你可以这样做:
handler = RotatingFileHandler(logger_path, 'w')
formatter = logging.Formatter('%(asctime)-12s [%(levelname)s] %(message)s')
handler.setFormatter(formatter)
文档可以在这里找到:formatter
, setFormatter
。
推荐阅读
- jenkins - Protractor-Jasmine e2e 测试在詹金斯中失败,驱动程序实例没有有效的会话 ID
- javascript - 跳出递归循环 JS
- ejb - 关于自由的 EJB 查找问题
- java - 虽然我在服务器中启用了 Java,但我遇到了 java 路径问题
- vba - 尝试根据组合框选择自动填写 Access 文本框时出现问题
- python - 将python脚本中的变量导入另一个脚本会引发变量未定义的错误
- python - 如何在 Plotly 中循环创建子图,每个子图上都有几条曲线?
- reactjs - 在reactjs中更改路径名后如何将登录数据更新为状态
- django - 如何在 Heroku 本地运行 Django Web 应用程序
- javascript - 输入范围 - 突出显示所选部分