我目前正在研究在多个项目中实现日志记录的需求,并需要开发一个可以在n个项目中使用的企业级日志记录应用程序。
目前的场景:当前正在发生的每一个解决方案都由3-4个项目组成,开发了一个日志项目,并在那里创建了Logger类,可以在整个解决方案中使用。将日志写入C:\驱动器上的文本文件。大约有5种解决方案,比如在其中创建和使用5个公共项目。
建议场景:我正在考虑创建一个API(web服务)-- WCF或WebAPI --来执行日志记录,并且可以在所有这5种解决方案中使用。最大的优点是日志工具与解决方案之间的松耦合,以及大量的代码减少,因为不需要更多的5个日志项目。
还需要将日志存储在数据库中而不是文本文件中,以便将来Web应用程序可以成为开发人员,与数据库通信并显示日志,而不是在文本文件中手动查找日志。
疑惑: API比已经创建的类库更好吗?至于延迟问题,我不得不认为它是企业级的。我是否可以坚持使用公共项目进行日志记录,并将其作为一个.dll,可以在所有5种解决方案中进行引用。这样做,我可以减少前面创建的5个公共项目。
任何建议,反馈都是非常感谢的!
发布于 2017-09-17 18:29:42
发布于 2018-01-15 21:26:17
我建议不要在这里重新发明轮子。我确实建议编写一个公共库来封装您的特定需求,如格式、助手方法、容器设置等。但是,我不会编写实际的日志聚合服务。根据您的组织设置的约束,您可能希望查看基于云的日志分析服务,如洛格利或贾斯汀建议的前提解决方案。
https://softwareengineering.stackexchange.com/questions/336996
复制相似问题