Nat*_*ati 2 logging slf4j apache-commons-logging log4j2
什么被认为是更好的做法?如果我编写SLF4J代码,是否可以获得所有Log4J2的好处?它会影响性能吗?以上所有问题对JCL也有同样的答案吗?
作为Log4j 2上的开发人员,我当然有偏见.如果您使用Markers并过滤它们,我会推荐Log4j而不是SLF4J.SLF4J与标记有一些并发问题.如果你想利用Log4j支持记录Messages而不是Strings,那么当然你必须使用Log4j的API.如果要使用printf样式API进行日志记录,则必须使用Log4j API.如果要使用Java 8 lambda表达式,则必须使用Log4j API.
OTOH,如果您对SLF4J API非常满意并且不想要任何其他功能,那么使用它的性能成本应该是最小的.
我还应该注意,可以写入Log4j 2 API并将其路由到SLF4J.