2013-01-08 53 views
2

我目前有三个记录错误的库。一个用于Django,一个用于Pyramid,另一个用于Python。它们目前都有单独的实现来执行相同的操作,以特定的方式记录错误和消息。创建支持Django和Pyramid的Python库

我想将它们全部整合到一个库中,这样新功能就不必在三个独立的库中重复。用户只需要安装一个库,然后可以选择是否需要Django或金字塔支持。

一种解决方案是将Django和Pyramid代码粘贴到纯Python库中,并使两个Web框架共享相同的日志代码。另一个解决方案是将Web框架保存在单独的库中,但是将日志实现剥离出来并放入普通的Python库中,使其成为依赖项。

这样做的建议方式是什么?有更好的解决方案吗?

+0

Django至少使用标准的内置Python日志记录库。你为什么不能使用它? –

+0

金字塔也是如此;据推测OP有建立在此之上的东西? –

+0

是的,我的图书馆将日志发送给一个网络应用程序等等。 – sbezboro

回答

0

分解所有库中常见的(并且可以通用的)所有代码。然后,如果需要,创建特定于每个框架的子模块,这些模块绑定到各种功能和成语中。

结账Raven。他们正是这样做的(他们也是一个日志发送库!)