淺談Java springboot日志管理
一、前言
springboot默認使用Logback組件作為日志管理。Logback是由log4j創(chuàng)始人設計的一個開源日志組件。
在springboot項目中我們不需要額外的添加Logback的依賴,因為在spring-boot-starter或者spring-boot-starter-web中已經(jīng)包含了Logback的依賴
Logback讀取配置文件的步驟
在classpath下查找文件logback-test.xml
如果文件不存在,則查找logback.xml
如果上面兩個文件都不存在,Logback用BasicConfiguration自動對自己進行最小化配置,這樣實現(xiàn)了上面我們不需要添加任何配置就可以輸出到控制臺日志信息
二、logback.xml
<?xml version="1.0" encoding="UTF-8" ?> <configuration> <!--定義日志文件的存儲地址 勿在 LogBack 的配置中使用相對路徑--> <property name="LOG_HOME" value="${catalina.base}/logs/" /> <!-- 控制臺輸出 --> <appender name="Stdout" class="ch.qos.logback.core.ConsoleAppender"> <!-- 日志輸出編碼 --> <layout class="ch.qos.logback.classic.PatternLayout"> <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日志消息,%n是換行符--> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n </pattern> </layout> </appender> <!-- 按照每天生成日志文件 --> <appender name="RollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--日志文件輸出的文件名--> <FileNamePattern>${LOG_HOME}/server.%d{yyyy-MM-dd}.log</FileNamePattern> <MaxHistory>30</MaxHistory> </rollingPolicy> <layout class="ch.qos.logback.classic.PatternLayout"> <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日志消息,%n是換行符--> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n </pattern> </layout> <!--日志文件最大的大小--> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <MaxFileSize>10MB</MaxFileSize> </triggeringPolicy> </appender> <!-- 日志輸出級別 --> <root level="info"> <appender-ref ref="Stdout" /> <appender-ref ref="RollingFile" /> </root> <!--日志異步到數(shù)據(jù)庫 --> <!-- <appender name="DB" class="ch.qos.logback.classic.db.DBAppender"> 日志異步到數(shù)據(jù)庫 <connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource"> 連接池 <dataSource class="com.mchange.v2.c3p0.ComboPooledDataSource"> <driverClass>com.mysql.jdbc.Driver</driverClass> <url>jdbc:mysql://127.0.0.1:3306/databaseName</url> <user>root</user> <password>root</password> </dataSource> </connectionSource> </appender> --> </configuration>
三、logback使用
org.slf4j.Logger,導包別導錯了
@RequestMapping("/logback") @Controller public class HelloController { private final static Logger logger= LoggerFactory.getLogger(HelloController.class); @RequestMapping("/showInfo") @ResponseBody public String showInfo(){ logger.info("記錄日志"); return "Hello Logback"; } }
日志文件放在了該項目workspace里邊
刷新一下程序,程序中也就有了
配置文件屏蔽指定包日志
logging.level.org=off #logging.level.cn=off #logging.level.cn.wit.demo.controller=off
到此這篇關于淺談Java springboot日志管理的文章就介紹到這了,更多相關springboot日志管理內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Spring中WebClient的創(chuàng)建和使用詳解
這篇文章主要介紹了Spring中WebClient的創(chuàng)建和使用詳解,在Spring5中,出現(xiàn)了Reactive響應式編程思想,并且為網(wǎng)絡編程提供相關響應式編程的支持,如提供了WebFlux,它是Spring提供的異步非阻塞的響應式的網(wǎng)絡框架,需要的朋友可以參考下2023-11-11Springboot打成war包并在tomcat中運行的部署方法
這篇文章主要介紹了Springboot打成war包并在tomcat中運行,在文中還給大家介紹了SpringBoot war包tomcat運行啟動報錯(Cannot determine embedded database driver class for database type NONE)的解決方法,需要的朋友可以參考下2018-01-01