淺談Java springboot日志管理
springboot默認使用Logback組件作為日志管理。Logback是由log4j創始人設計的一個開源日志組件。在springboot項目中我們不需要額外的添加Logback的依賴,因為在spring-boot-starter或者spring-boot-starter-web中已經包含了Logback的依賴
Logback讀取配置文件的步驟
在classpath下查找文件logback-test.xml
如果文件不存在,則查找logback.xml
如果上面兩個文件都不存在,Logback用BasicConfiguration自動對自己進行最小化配置,這樣實現了上面我們不需要添加任何配置就可以輸出到控制臺日志信息
二、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> <!--日志異步到數據庫 --> <!-- <appender name='DB' class='ch.qos.logback.classic.db.DBAppender'>日志異步到數據庫 <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')@Controllerpublic 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日志管理內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章:
