按照api出现的时间顺序(据我所知):
- Log4j,因为大多数人都使用它(以我的经验)
- Commons Logging,因为开放源代码项目使用它(因此它们可以与集成解决方案中使用的任何日志记录框架集成);如果您使用的是API / framework / OSS,并且依赖于使用Commons Logging的其他软件包,则特别有效。
- Commons Logging是因为您不想“锁定”特定的日志记录框架(因此,您只能锁定Commons Logging所提供的功能)-我认为决定使用这一点作为理由并不明智。
- Java日志记录,因为您不想添加额外的jar。
- SLF4j,因为它比Commons Logging更新并且提供了参数化日志记录:
logger.debug("The entry is {}.", entry);//which expands effectively toif (logger.isDebugEnabled()){ // Note that it's actually *more* efficient than this - see Huxi's comment below... logger.debug("The entry is " + entry + "."); }- Logback,因为它比log4j更新,并且再次支持参数化日志记录,因为它直接实现SLF4j
- SLF4j / Logback,因为它是由做log4j的同一个人编写的,所以他做得更好(根据Ken G-谢谢。在查看他们以前的新闻时,它似乎很合适)
- SLF4j,因为它们还发布了log4j适配器,因此您不必在旧代码中“切换” log4j-只需使log4j.properties使用SLF4j及其配置即可



