最近,我在github上发布了我的开源java game server代码,并面临着下面的两难境地:“我应该使用哪种日志记录”.I希望我的库对终端开发人员来说最“易于使用”。我希望从这个问题中创建一个伪维基,这样其他面临同样问题的人就可以有一个单一的参考点。
1)如果您的开源项目是一个简单的java库,那么有哪些可用于日志记录的选项。
a.使用自己的日志记录逻辑
b.打印到控制台,错误
c.使用log4j、slf4j等库
2)最佳实践是什么?以上哪一项是开源库的一般偏好?
3)对于一些著名的日志框架,如log4j、slf4j、commons-logging等,在选择它作为您的日志库时,需要考虑哪些已知问题。
4)我选择的日志框架会影响其他使用我的库的库吗?如果我使用一个特定的库,会不会出现不兼容的情况?
如果你有一些额外的评论,如“只登录到控制台”,“不要使用日志”等,那么请证明。
发布于 2012-02-13 18:34:09
不要直接写到控制台;)如果有人使用你的库,他可能希望有控制台给他自己,而不是你的日志。
slf4j (和commons- logging )不是一个日志框架。它是一个抽象层,它允许你编程而不是一个接口,并使用你(或你的库的最终用户)选择的实现,无论是log4j,java日志或其他任何东西。我同意这样做,因为它将实现的选择留给了用户。
发布于 2012-02-13 18:42:35
我使用SLF4J作为外观,使用Logback作为日志记录实现。我对这个配置非常满意。我能够将一些第三方库日志重定向到Logback。他们使用了不同的日志记录技术。
https://stackoverflow.com/questions/9258923
复制相似问题