您好,登錄后才能下訂單哦!
這篇文章主要介紹“SpringCloud怎么使用logback日志框架”,在日常操作中,相信很多人在SpringCloud怎么使用logback日志框架問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”SpringCloud怎么使用logback日志框架”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
如果項(xiàng)目是spring web項(xiàng)目,并且已經(jīng)引入了下面依賴(lài),可以直接使用:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
如果你的項(xiàng)目不是web應(yīng)用,則可以引入依賴(lài):
<properties> <logback.version>1.1.11</logback.version> </properties> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-access</artifactId> <version>${logback.version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>${logback.version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>${logback.version}</version> </dependency>
如果你項(xiàng)目中是spring cloud 2.x版本,則logback版本號(hào)${logback.version}
可以用:
<version>1.2.3</version>
Spring Cloud 1.x 依賴(lài)的logback-classic版本號(hào)是:
<version>1.1.11</version>
logback-spring.xml命名要加上-spring,表明它是一個(gè)專(zhuān)門(mén)為Spring應(yīng)用準(zhǔn)備的Logback配置文件,此文件將把Spring的日志信息輸出到Logback的日志系統(tǒng)中,而且這樣才可以使用 <springProfile name="dev">這種根據(jù)不同環(huán)境切換不同日志輸出規(guī)則的配置。
提供一個(gè)完整的配置文件,可以根據(jù)自己項(xiàng)目定制配置:
<?xml version="1.0" encoding="UTF-8"?> <configuration debug="false" scan="true" scanPeriod="1 seconds"> <contextName>logback</contextName> <!--必須修改:改成你的日志文件名,下面配置表示:在項(xiàng)目啟動(dòng)目錄下,創(chuàng)建個(gè)logs文件夾,并將日志寫(xiě)入到demo.log文件中--> <property name="log.name" value="logs/demo"/> <!--輸出到控制臺(tái) ConsoleAppender--> <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <!--必須要配置:下面配置含義,當(dāng)單個(gè)日志文件大小超過(guò)100M后,會(huì)生成新日志文件,并將舊其按日志進(jìn)行打包壓縮,當(dāng)日志總大小超過(guò)10G或者日志時(shí)間超過(guò)7天,就吧最老的日志刪除,避免日志撐爆服務(wù)器硬盤(pán)導(dǎo)致服務(wù)器宕機(jī)--> <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.name}.log</file> <!--滾動(dòng)策略,按照時(shí)間滾動(dòng) TimeBasedRollingPolicy--> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <!--文件路徑,定義了日志的切分方式——把每一天的日志歸檔到一個(gè)文件中,以防止日志填滿(mǎn)整個(gè)磁盤(pán)空間--> <FileNamePattern>${log.name}.%d{yyyy-MM-dd}.%i.log.gz</FileNamePattern> <!-- 單個(gè)日志文件最多 100MB --> <maxFileSize>100MB</maxFileSize> <!--只保留最近7天的日志--> <maxHistory>7</maxHistory> <!--用來(lái)指定日志文件的上限大小,那么到了這個(gè)值,就會(huì)刪除舊的日志--> <totalSizeCap>10GB</totalSizeCap> </rollingPolicy> <!--日志輸出編碼格式化--> <encoder> <charset>UTF-8</charset> <pattern>%d [%t] %-5level %logger{36}.%M\(%file:%line\) - %msg%n</pattern> </encoder> </appender> <!-- <root level="info"> <appender-ref ref="console"/> <appender-ref ref="file"/> </root>--> <logger name="org.springframework" level="warn"/> <springProfile name="local"> <!-- 打印mybatis日志 --> <logger name="cn.enn.smart.mapper" level="debug"/> <root level="info"> <appender-ref ref="console"/> <!--本地環(huán)境時(shí),不寫(xiě)入日志文件 --> </root> </springProfile> <springProfile name="dev"> <!-- 打印mybatis日志 --> <logger name="cn.enn.smart.mapper" level="debug"/> <root level="debug"> <appender-ref ref="console"/> <appender-ref ref="file"/> </root> </springProfile> <springProfile name="test"> <!-- 打印mybatis日志 --> <logger name="cn.enn.smart.mapper" level="debug"/> <root level="info"> <appender-ref ref="console"/> <appender-ref ref="file"/> </root> </springProfile> <springProfile name="pro"> <!-- 打印mybatis日志 --> <logger name="cn.enn.smart.mapper" level="debug"/> <root level="info"> <appender-ref ref="console"/> <appender-ref ref="file"/> </root> </springProfile> </configuration>
1.日志文件名要配置,這個(gè)最好以自己項(xiàng)目名稱(chēng)命名,如:xxx.log
2.日志保留策略要配置,上面默認(rèn)保留7天并且總?cè)罩敬笮〔荒艹^(guò)10G,否則logback會(huì)自動(dòng)刪除
3.項(xiàng)目配置文件名稱(chēng)要配置,如果你的配置文件命名是application-local.properties、application-dev.properties、application-test.properties、application-pro.properties可使用上述配置,如果不是則需要按自己配置文件真實(shí)后綴名,修改: <springProfile name="local">、 <springProfile name="dev">、 <springProfile name="test">、 <springProfile name="pro">這四行配置。
spring.application.name=demo
修改application-pro.propertities文件,增加配置:
#關(guān)閉Mybatis日志 mybatis.configuration.log-impl=org.apache.ibatis.logging.nologging.NoLoggingImpl
application.properties中增加配置:
#打印Mybatis日志 mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
文件名可直接用logback.xml,不需要用logback-spring.xml來(lái)命名了,因?yàn)椴恍枰褂?<springProfile name="dev">這種配置來(lái)區(qū)分環(huán)境了。
<?xml version="1.0" encoding="UTF-8"?> <configuration debug="false" scan="true" scanPeriod="1 seconds"> <contextName>logback</contextName> <property name="log.name" value="logs/demo"/> <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.name}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <FileNamePattern>${log.name}.%d{yyyy-MM-dd}.%i.log.zip</FileNamePattern> <!-- 單個(gè)日志文件最多 100MB --> <maxFileSize>100MB</maxFileSize> <!--只保留最近7天的日志--> <maxHistory>7</maxHistory> <!--用來(lái)指定日志文件的上限大小,那么到了這個(gè)值,就會(huì)刪除舊的日志--> <totalSizeCap>10GB</totalSizeCap> </rollingPolicy> <!--日志輸出編碼格式化--> <encoder> <charset>UTF-8</charset> <pattern>%d [%t] %-5level %logger{36}.%M\(%file:%line\) - %msg%n</pattern> </encoder> </appender> <root level="info"> <appender-ref ref="console"/> <appender-ref ref="file"/> </root> </configuration>
log.debug()使用時(shí),最好增加判斷,防止條件不滿(mǎn)足時(shí)候,也會(huì)執(zhí)行打印日志的代碼,造成不必要的資源消耗。比如打印日志語(yǔ)句中存在對(duì)象轉(zhuǎn)字符串等操作時(shí),增加判斷后,將不再消耗系統(tǒng)資源。
if (log.isDebugEnabled()) { log.debug("1.完成將文本數(shù)據(jù)導(dǎo)入到XML文件中"); }
到此,關(guān)于“SpringCloud怎么使用logback日志框架”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。