我编写了一个 PHP5.3 库来通过 SNMP 与我们的几个设备进行通信。我想做的下一部分是允许将要实现它的公司部门将一个 Logger 附加到该类以简化调试、错误处理等。
有没有关于如何做到这一点的通用做法、标准或规则?我希望解决方案尽可能灵活,以便可以附加一个选择的记录器,如 Monolog、Zend_Log、Analog 等......
我正在考虑编写一个执行通用 API 的接口,观察者模式(这可能是矫枉过正且过于灵活,因为我们只需要日志记录),...
tl;dr
是否有任何规则或模式,最好是关于如何在库中实现 API 的示例,该库抽象日志记录并将其委托给实现者选择的记录器系统。