SpringBoot配置lombok與logback過(guò)程解析
一 什么是lombok
在寫Java程序的時(shí)候經(jīng)常會(huì)遇到如下情形:新建了一個(gè)Class類,然后在其中設(shè)置了幾個(gè)字段,最后還需要花費(fèi)很多時(shí)間來(lái)建立getter,setter方法還有構(gòu)造函數(shù)等 。
lombok項(xiàng)目的產(chǎn)生就是為了省去我們手動(dòng)創(chuàng)建getter和setter方法的麻煩,它能夠在我們編譯源碼的時(shí)候自動(dòng)幫我們生成getter和setter方法。
即它最終能夠達(dá)到的效果是:在源碼中沒(méi)有g(shù)etter和setter方法,但是在編譯生成的字節(jié)碼文件中有g(shù)etter和setter方法。
二 lombok安裝
在項(xiàng)目中導(dǎo)入依賴
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.10</version> <scope>provided</scope></dependency>
在idea中安裝lombok插件
file->settings->plugins->搜索lombok
三 使用lombok
lombok常用注解
@Data
作用在類上,提供類所有屬性的get set方法,此外還提供了hashcode equals tostring canequal方法
@Slf4j
注解在類上,為類提供一個(gè)屬性名為log的slf4j日志對(duì)象
@NoArgsConstructor
注解在類上,為類提供一個(gè)無(wú)參構(gòu)造器
@AllArgsConstructor
注解在類上,為類提供一個(gè)全參構(gòu)造器
@Builder
注解在類上,使用Builder模式創(chuàng)建對(duì)象
四 使用logback
默認(rèn)情況下,SpringBoot 采用logback來(lái)記錄日志,并輸出 INFO 級(jí)別日志到控制臺(tái)
spring-boot-stater的依賴中包含了logback,無(wú)需導(dǎo)包
application.yml
logging: file: application.log
logback-spring.xml 使用這個(gè)文件名放到resource下面無(wú)需其他配置,springboot會(huì)自動(dòng)找到這個(gè)日志配置
<configuration> <appender name='ROLLING' class='ch.qos.logback.core.rolling.RollingFileAppender'> <file>logs/application.log</file> <rollingPolicy class='ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy'> <!-- rollover daily --> <fileNamePattern>logs/backup/application.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern> <maxFileSize>100MB</maxFileSize> <maxHistory>60</maxHistory> <totalSizeCap>50GB</totalSizeCap> </rollingPolicy> <encoder> <!--<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %magenta([%12.12thread]) %highlight(%-5level{5}) --- %24.24logger.%12.12M() : %msg%n--> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%12.12thread] %-5level{5} --- %24.24logger.%12.12M() : %msg%n </pattern> </encoder> </appender> <appender name='STDOUT' class='ch.qos.logback.core.ConsoleAppender'> <encoder> <!--<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %magenta([%12.12thread]) %highlight(%-5level{5}) --- %24.24logger.%12.12M() : %msg%n--> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%12.12thread] %-5level{5} --- %24.24logger.%12.12M() : %msg%n </pattern> </encoder> </appender> <root level='INFO'> <appender-ref ref='STDOUT'/> <appender-ref ref='ROLLING'/> </root></configuration>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Spring security 自定義過(guò)濾器實(shí)現(xiàn)Json參數(shù)傳遞并兼容表單參數(shù)(實(shí)例代碼)2. Java8內(nèi)存模型PermGen Metaspace實(shí)例解析3. python tkinter實(shí)現(xiàn)下載進(jìn)度條及抖音視頻去水印原理4. 一文搞懂 parseInt()函數(shù)異常行為5. 聊聊python在linux下與windows下導(dǎo)入模塊的區(qū)別說(shuō)明6. python學(xué)習(xí)之plot函數(shù)的使用教程7. python 實(shí)現(xiàn)"神經(jīng)衰弱"翻牌游戲8. ASP.NET MVC使用正則表達(dá)式驗(yàn)證手機(jī)號(hào)碼9. Python基于百度AI實(shí)現(xiàn)抓取表情包10. python中用Scrapy實(shí)現(xiàn)定時(shí)爬蟲的實(shí)例講解
