gpt4 book ai didi

java - 外部库的日志记录策略(slf4j?)

转载 作者:行者123 更新时间:2023-11-29 08:05:14 31 4
gpt4 key购买 nike

我想提供一个客户端库,用于将 rest-request 包装到服务器并记录错误,以便客户端可以在他的应用程序中使用它并查看日志。 (还有一个问题是我应该只记录错误还是重新抛出它。当我使用异步调用(多线程)时,这可能非常棘手..)

我读到 slf4j 可能会有所帮助,因为使用该库的客户可以选择他喜欢的日志记录框架。

关于这个 slf4j 的事情让我有些困惑。如果他得到我的库,而我只是提供,比方说 slf4j-api,就会抛出错误,因为不包括 SLF4J 绑定(bind)。解决方案可能是他必须自己包含绑定(bind),问题是他是否愿意阅读 README 以获取此重要信息。

如果我包含一个“标准”-slf4j 绑定(bind)(例如简单的绑定(bind)),应用程序无法“覆盖”它,因为类路径上只允许一个绑定(bind)。它无论如何都不灵活

所以我想只使用 log4j 而忘记所有其他日志记录框架。我可能觉得这个问题很复杂,也许有人可以帮我解决这个问题?

最佳答案

你必须记住,你的库没有设置包装应用程序的类路径。包装应用程序将设置一个包含您的库、slf4j API 库和实现库的类路径。

包装应用程序将负责使用什么 slf4j 实现并设置所有日志记录参数。您只需要担心使用 slf4j API 记录您的库事件。这是常见的做法,不用担心包装应用程序。

通过将 log4j 打包到您的库中,您正在破坏日志外观的目的。这样做将不允许用户选择 slf4j 实现。

关于java - 外部库的日志记录策略(slf4j?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11723853/

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