淺談Java springboot日志管理
springboot默認(rèn)使用Logback組件作為日志管理。Logback是由log4j創(chuàng)始人設(shè)計(jì)的一個(gè)開源日志組件。在springboot項(xiàng)目中我們不需要額外的添加Logback的依賴,因?yàn)樵趕pring-boot-starter或者spring-boot-starter-web中已經(jīng)包含了Logback的依賴
Logback讀取配置文件的步驟
在classpath下查找文件logback-test.xml
如果文件不存在,則查找logback.xml
如果上面兩個(gè)文件都不存在,Logback用BasicConfiguration自動(dòng)對(duì)自己進(jìn)行最小化配置,這樣實(shí)現(xiàn)了上面我們不需要添加任何配置就可以輸出到控制臺(tái)日志信息
二、logback.xml<?xml version='1.0' encoding='UTF-8' ?> <configuration><!--定義日志文件的存儲(chǔ)地址 勿在 LogBack 的配置中使用相對(duì)路徑--> <property name='LOG_HOME' value='${catalina.base}/logs/' /> <!-- 控制臺(tái)輸出 --> <appender name='Stdout' class='ch.qos.logback.core.ConsoleAppender'> <!-- 日志輸出編碼 --> <layout class='ch.qos.logback.classic.PatternLayout'><!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級(jí)別從左顯示5個(gè)字符寬度%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:級(jí)別從左顯示5個(gè)字符寬度%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> <!-- 日志輸出級(jí)別 --> <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,導(dǎo)包別導(dǎo)錯(cuò)了
@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'; }}
日志文件放在了該項(xiàng)目workspace里邊
刷新一下程序,程序中也就有了
配置文件屏蔽指定包日志
logging.level.org=off#logging.level.cn=off#logging.level.cn.wit.demo.controller=off
到此這篇關(guān)于淺談Java springboot日志管理的文章就介紹到這了,更多相關(guān)springboot日志管理內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
