Spring如何替換掉默認common-logging.jar
為什么使用日志打印而不是使用System.out.println()?
System.out是一個io流 如果使用它打印大批量數據 會占用大量的資源
spring默認使用common-logging打印日志信息 如果我們想替換掉它 使用其他的日志工具 分為如下幾步
1.排除項目對common-logging的依賴
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions></dependency>
因為我所用的項目中common-logging在此依賴之下 所以需要將其排除
2.引入取代common-logging的日志打印工具的依賴
<!--其他日志工具的中間轉換包--><dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId></dependency><dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.7</version></dependency><dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version></dependency>
SLF4J對應不同框架如圖所示
我這里引入的是轉logback的依賴
3.配置logback.xml 設置輸出的日志
先測試一下
結果如圖 打印的日志太長了 設置打印的日志的格式和等級就需要logback.xml了
內容如圖:(logback.xml在rescouce目錄下)
<?xml version='1.0' encoding='UTF-8'?><configuration debug='true'> <!-- 指定日志輸出的位置 --> <appender name='STDOUT' class='ch.qos.logback.core.ConsoleAppender'> <encoder> <!-- 日志輸出的格式 --> <!-- 按照順序分別是:時間、日志級別、線程名稱、打印日志的類、日志主體 內容、換行 --> <pattern>[%d{HH:mm:ss.SSS}] [%-5level] [%thread] [%logger] [%msg]%n</pattern> </encoder> </appender> <!-- 設置全局日志級別。日志級別按順序分別是:DEBUG、INFO、WARN、ERROR --> <!-- 指定任何一個日志級別都只打印當前級別和后面級別的日志。 --> <root level='INFO'> <!-- 指定打印日志的 appender,這里通過“STDOUT”引用了前面配置的 appender --> <appender-ref ref='STDOUT'/> </root> <!-- 根據特殊需求指定局部日志級別 --> <logger name='com.atguigu.crowd.mapper' level='DEBUG'/></configuration>
設置后結果如圖
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章: