2

最近我将我的开源java 游戏服务器代码发布到 github 并面临以下困境“我应该使用哪个日志记录”。我希望我的库对最终开发人员具有最大的“易用性”。我希望从这个问题中创建一个伪维基,以便其他面临相同问题的人可以有一个单一的参考点。

1) 如果你的开源项目是一个简单的 java 库,有哪些可用于日志记录的选项。
一种。使用您自己的日志记录逻辑
b. 打印到控制台,错误
c. 使用 log4j、slf4j 等库
2) 最佳实践是什么?以上哪一项是开源库的普遍偏好?
3) 对于一些著名的日志框架,如 log4j、slf4j、commons-logging 等,在选择它作为日志库时需要考虑哪些已知问题。
4) 我选择的日志框架会影响另一个使用我的库吗?如果我使用特定的库,是否存在不兼容的可能性?

如果您有一些额外的评论,例如“仅记录到控制台”、“不使用日志记录”等,请说明理由。

4

2 回答 2

8

永远不要直接写到控制台;)如果有人使用你的库,他可能想为自己使用控制台,而不是为你的日志。

slf4j(和 commons-logging)不是一个日志框架。它是一个抽象层,可让您对一个接口进行编程并使用您(或您的库的最终用户)选择的实现,无论是 log4j、java 日志记录还是其他任何东西。我会这样做,因为它将实现的选择留给用户。

于 2012-02-13T10:34:08.533 回答
3

我使用 SLF4J 作为外观,使用 Logback 作为日志实现。我对这个配置很满意。我能够将一些第三方库日志重定向到 Logback。他们使用不同的日志记录技术。

于 2012-02-13T10:42:34.977 回答