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