【发布时间】:2013-01-08 20:49:45
【问题描述】:
我目前有三个记录错误的库。一种用于 Django,一种用于 Pyramid,另一种用于纯 Python。他们目前都有单独的实现来做同样的事情,以特定的方式记录错误和消息。
我想将它们全部整合到一个库中,这样新功能就不必在三个独立的库中重复。用户只需要安装一个库,然后就可以选择是否需要 Django 或 Pyramid 支持。
一种解决方案是将 Django 和 Pyramid 代码粘贴到纯 Python 库中,并让两个 Web 框架共享相同的日志记录代码。另一种解决方案是将 Web 框架保留在单独的库中,但剥离日志实现,并放入普通 Python 库中,使其成为依赖项。
推荐的方法是什么?有没有更好的解决方案?
【问题讨论】:
-
Django 至少使用标准的内置 Python 日志库。为什么你不能使用它?
-
金字塔也是如此;大概是 OP 在此基础上构建了一些东西?
-
是的,我的库会获取日志并将它们发送到网络应用等。
-
我会构建一个包含所有通用代码和定义良好的 API 的基础库,然后围绕它构建轻量级包装器以解决每个框架中的特定问题。无论如何,如果不知道您的库实际做什么,很难说出最好的方法是什么。
-
拥有包
x和依赖于它的特定于框架的包django-x和pyramid_x是很常见的。
标签: python django shared-libraries pyramid