logback是一款開源的日誌框架,內核重寫了,是基於log4j基礎進行改良的。其官網爲logback.qos.ch。logback在性能上有很大提高,擁有更多特性。html
logback-core:是其它兩個模塊的基礎模塊java
logback-classic:log4j的改良版本,實現了Slf4j APIweb
logback-access:集成Servle環境時就須要logback了,能夠提供Http訪問的接口spring
日誌級別:ERROR, WARN, INFO, DEBUG or TRACE
有時候咱們要獲取更多的日誌信息,就能夠下降日誌級別,而後或是更多的日誌信息,eg:目前級別是info級別的,咱們能夠下降日誌級別爲debug,而後獲取更多日誌信息。sql
maven加上對應的jar:apache
<!-- logback --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </dependency>
在application.yml加上配置mybatis
server: port: 8081 logging: config: classpath:logback.xml level: com.muses.taoshop: debug path: /data/logs
在資源文件夾下添加logback.xml:app
<?xml version="1.0" encoding="UTF-8" ?> <configuration debug="false" scan="true"> <!-- 日誌級別 --> <springProperty scope="context" name="LOG_ROOT_LEVEL" source="logging.level.root" defaultValue="DEBUG"/> <!-- 標識這個"STDOUT" 將會添加到這個logger --> <springProperty scope="context" name="STDOUT" source="log.stdout" defaultValue="STDOUT"/> <!-- 日誌格式,%d:日期;%thread:線程名;%-5level:日誌級別從左顯示5個字符長度,列如:DEBUG; %logger{36}:java類名,例如:com.muses.taoshop.MyTest,36表示字符長度;%msg:日誌內容;%d:換行 --> <property name="LOG_PATTERN" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" /> <!-- root日誌級別--> <property name="${LOG_ROOT_LEVEL}" value="DEBUG" /> <!-- 日誌跟目錄 --> <property name="LOG_HOME" value="data/logs" /> <!-- 日誌文件路徑--> <property name="LOG_DIR" value="${LOG_HOME}/%d{yyyyMMdd}" /> <!-- 日誌文件名稱 --> <property name="LOG_PREFIX" value="portal" /> <!-- 日誌文件編碼 --> <property name="LOG_CHARSET" value="utf-8" /> <!-- 配置日誌的滾動時間,保存時間爲15天--> <property name="MAX_HISTORY" value="15" /> <!-- 文件大小,默認爲10MB--> <property name="MAX_FILE_SIZE" value="10" /> <!-- 打印到控制檯 --> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <!-- 格式化日誌內容--> <encoder> <pattern>${LOG_PATTERN}</pattern> </encoder> </appender> <!-- 打印全部日誌,保存到文件--> <appender name="FILE_ALL" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${LOG_HOME}/all_${LOG_PREFIX}.log</file> <!-- 設置滾動策略,當日志文件大小超過${MAX_FILE_SIZE}時,新的日誌內容寫到新的日誌文件--> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 新的日誌文件路徑名稱,%d:日期 %i:i是變量 --> <fileNamePattern>${LOG_DIR}/all_${LOG_PREFIX}%d{yyyy-MM-dd}.%i.log</fileNamePattern> <!-- 保存日誌15天 --> <maxHistory>${MAX_HISTORY}</maxHistory> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <!-- 日誌文件的最大大小 --> <maxFileSize>${MAX_FILE_SIZE}</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <!-- 格式日誌文件內容--> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern>${LOG_PATTERN}</pattern> </layout> </appender> <!-- 打印錯誤日誌,保存到文件--> <appender name="FILE_ERR" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${LOG_HOME}/err_${LOG_PREFIX}.log</file> <!-- 設置滾動策略,當日志文件大小超過${MAX_FILE_SIZE}時,新的日誌內容寫到新的日誌文件--> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 新的日誌文件路徑名稱,%d:日期 %i:i是變量 --> <fileNamePattern>${LOG_DIR}/err_${LOG_PREFIX}%d{yyyy-MM-dd}.%i.log</fileNamePattern> <!-- 保存日誌15天 --> <maxHistory>${MAX_HISTORY}</maxHistory> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <!-- 日誌文件的最大大小 --> <maxFileSize>${MAX_FILE_SIZE}</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <!-- 格式日誌文件內容--> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern>${LOG_PATTERN}</pattern> </layout> </appender> <!-- rest template logger--> <!--<logger name="org.springframework.web.client.RestTemplate" level="DEBUG" />--> <!--<logger name="org.springframework" level="DEBUG" />--> <!-- jdbc--> <!--<logger name="jdbc.sqltiming" level="DEBUG" />--> <logger name="org.mybatis" level="DEBUG" /> <!-- zookeeper--> <logger name="org.apache.zookeeper" level="ERROR" /> <!-- dubbo --> <logger name="com.alibaba.dubbo.monitor" level="ERROR"/> <logger name="com.alibaba.dubbo.remoting" level="ERROR" /> <!-- 日誌輸出級別 --> <root leve="${LOG_ROOT_LEVEL}"> <appender-ref ref="STDOUT" /> <appender-ref ref="FILE_ALL" /> <appender-ref ref="FILE_ERR" /> </root> </configuration>
參考資料框架