首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >全局日志记录服务

全局日志记录服务
EN

Stack Overflow用户
提问于 2016-01-20 22:36:03
回答 1查看 84关注 0票数 3

我已经编写了自己的日志记录类,并将其定义为服务并放置在AppBundle\Services名称空间中。当我想要记录一些东西时,我可以很容易地在控制器中访问它,但是从其他服务访问它呢?

我必须将日志记录服务作为依赖注入传递,但如果我定义了100多个服务(服务、模块、事件侦听器等),每个服务都有自己的依赖关系,该怎么办?这会造成一片混乱。

我也一直在考虑扩展一些定义日志服务的核心服务,但我的所有服务、模块、事件侦听器都必须扩展一个核心类。

解决这个问题的最佳方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2016-07-05 02:06:51

可能一个好的方法是重新考虑责任,以避免创建太多的服务。

关于使用服务本身的事实,我认为在应用程序生命周期中重用尽可能多的服务是没有问题的。实际上,symfony将处理实例化,您将只将其作为服务来完成。

另一种方法是为所有核心对象创建基类,让这些基类处理日志服务,最终类将以隐式方式记录日志。这不会节省服务调用,但几乎会让您手动处理它。

如果你认为你会在几个项目中使用你的日志功能,那么我建议你移动到供应商文件夹,并将其用作外部模块,通过composer同步到你的github帐户。它就像你自己的第三方产品。

如果你不是symfony的朋友,那么你可以通过自动加载来创建自己的单例模式,但我认为你应该利用强大的symfony服务结构。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34902913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档