gpt4 book ai didi

java - 您如何在分离服务组件的同时正确处理 OSGi 中的日志记录?

转载 作者:搜寻专家 更新时间:2023-11-01 02:30:32 25 4
gpt4 key购买 nike

我正在使用 OSGi 和声明式服务 (DS),目前正在考虑如何正确处理日志记录。由于无论如何我都在使用 DS,因此使用 OSGi 服务纲要指定的 LogService 作为强制性服务引用似乎很自然。我在 ekkes corner 网上看了很多书。和 nogunners's blog ,但我仍然不清楚:

如何正确区分不同的服务组件(或使用分解码件时的不同服务组件实例)?

如果我查看使用 Logback 的 LogListener 的 nogunners 实现,他使用来自 bundlecontext 的 Bundle-Id 来区分它们。好的到目前为止。但是我将如何区分服务组件呢? LogService 对象自然包含对 BundleContext 的引用,但是(查看 LogService 接口(interface))ServiceReference 必须由用户(实际记录内容的人)本身提供?这对我来说似乎很脆弱。为什么框架不能像交付 BundleContext 那样交付它?

当我在说的时候,为什么 OSGi 规范使用冗长的 logger.log(LogService.LOG_INFO,...) 而不是准标准的 logger.info (...), logger.warn(..) 等等?这有什么具体原因吗?

最佳答案

没有标准的方法来记录组件 ID,您必须将其嵌入到消息中。

OSGi 日志服务已有 14 年历史……决定不对其进行升级,因为周围已经有太多(太多)的日志系统。

http://team.ops4j.org/wiki/display/paxlogging/Pax+Logging ,他们将流行的记录器与 OSGi 集成(双向)。

关于java - 您如何在分离服务组件的同时正确处理 OSGi 中的日志记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10498846/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com