关于日志框架
1.關(guān)于市場上常見的日志框架
JUL(java.util.logging),JCL(Jakarta Commons Logging),Log4j,Log4j2,Logback(具體框架,springboot使用)、SLF4j、jboss-logging等。
Spring 在框架內(nèi)部使用JCL。
Log4j被apache收購,升級,改為log4j2,框架改動很大,只是借用之名。
Log4j,Logback,SLF4j都是同一個作者。
優(yōu)選slf4j+logback
springboot(slf4j+logback): Spring(commons-logging)、Hibernate(jboss-logging)、MyBatis、xxxx
引入jcl轉(zhuǎn)換為slf4j依賴包(偷梁換柱)
選擇-優(yōu)選slf4j+logback
2.將系統(tǒng)中其他日志框架先排除出去;(所有項目)
3.用中間包來替換原有的日志框架
4.我們slf4j及其他的實(shí)現(xiàn)
<dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><!-- 間接依賴logback-core--><!-- 優(yōu)秀的日志實(shí)現(xiàn)--></dependency> <!-- slf4j(門面): Simple Logging Facade for Java :簡單日志門面(接口)(類似JDBC); log4j:日志實(shí)現(xiàn)(類似數(shù)據(jù)庫驅(qū)動); log4j2(實(shí)現(xiàn)), logback(實(shí)現(xiàn)), 后來我們用slf4j+logback(最穩(wěn)定的方案); --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><!-- 抽象層,接口--></dependency>5.測試代碼
import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class HelloWorld {public static void main(String[] args) {Logger logger = LoggerFactory.getLogger(TestLog.class);logger.debug("debug..."); //用于調(diào)試程序logger.info("info...");//用于請求處理提示消息logger.warn("warn...");//用于警告處理提示消息logger.error("error...");//用于異常處理提示消息logger.error("==>>"+logger.getClass());//class ch.qos.logback.classic.Logger } }6.配置文件logback.xml
每一個日志的實(shí)現(xiàn)框架都有自己的配置文件。使用slf4j以后,配置文件還是做成日志實(shí)現(xiàn)框架自己本身的配置文件
總結(jié)
- 上一篇: OpenCV中图像轮廓检测
- 下一篇: Opencv目标跟踪—CamShift和