log4j vs slf4j vs logback vs commons-logging

Posted 每天更强一点...

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了log4j vs slf4j vs logback vs commons-logging相关的知识,希望对你有一定的参考价值。

References

[1] https://logback.qos.ch/

[2] https://stackoverflow.com/questions/178215/log4j-vs-logback

[3] https://howtodoinjava.com/log4j/slf4j-vs-log4j-which-one-is-better/

SLF4J vs commons-logging

SLF4J was designed to do what commons-logging does but better

Basically you should replace your selfmade wrapper with slf4j IF and only IF you are not happy with it for some reason. While Apache Commons Logging is not really providing a modern API, slf4j and the new Log4j 2 facade is providing that. Given that quite a bunch of apps use slf4j as a wrapper it might make sense to use that.

log4j/logback vs slf4j

Simple Logging Facade for Java (SLF4J) is an API designed to give generic access to many logging frameworks; log4j being one of them. Which one you use, is then decided at deployment time, not when you write your code. Best practice is to use slf4j to for your own log statements, and then choose the appropriate backend for it (including log4j and logback by configuring to use them as a logging backend).

SLF4J does not replace log4j, they work together. It removes the dependency on log4j from your application and make it easy to replace it in future with more capable library.

Logback natively implements the SLF4J API. This means that if you are using logback, you are actually using the SLF4J API. You could theoretically use the internals of the logback API directly for logging, but that is highly discouraged. All logback documentation and examples on loggers are written in terms of the SLF4J API.

 

log4j vs logback

Logback is intended as a successor to the popular log4j project, picking up where log4j leaves off.

以上是关于log4j vs slf4j vs logback vs commons-logging的主要内容,如果未能解决你的问题,请参考以下文章

logback最佳实践

slf4j log4j logback

从 log4j 迁移到 logback

log4j+slf4j管理日志项目迁移logback+slf4j

Springboot中logback与slf4j冲突排坑

SLF4J和Logback