我一直在使用Google Guava库并发现它比Apache Commons更有用于参数验证(即检查前置条件,不变对象状态,方便地在{{1}上抛出正确的Exception
类型},空null
,内联String
检查分配,null
消息格式化和可空类型的专门输入)。我没有看过图书馆的其他功能,但这足以让我切换。
现在非常自然的问题:
我正在使用Apache Commons Logging进行日志记录,就像我在进行参数验证一样。我可以切换到Google的框架中是否有类似的“this goes to 11”,具有复合效益?我不介意Log4j或Commons,但在我研究的方面,番石榴比Commons好得多......
我看到Android有它的日志框架,我喜欢,Google也提供基本Java的日志框架吗?
参考文献:
答案 0 :(得分:6)
最好避免使用Commons Logging。请参阅http://articles.qos.ch/thinkAgain.html进行全面分析。是的,它已经很老了(是的,作者有既得利益),但这一切都适用。链接的'Commons Logging was my fault'说明了 - 这个图书馆真的没有多少爱 - 无处不在。
显然,Google首选的解决方案是java.util.logging。如果您在Google App Engine上进行Java编程,您会看到这一点。
最好的标准是slf4j over logback。我认为没有理由避免它。您很可能已经在使用slf4j - 如果不是直接通过类路径上的其他库间接使用 - 它是事实上的现代标准。
答案 1 :(得分:4)
不是我知道的。我建议使用slf4j。