傳統方式打印日誌比較複雜, 每次打印須要定義全局變量java
private static final Logger logger = LoggerFactory.getLogger(this.getClass()) spring
springboot2.x ,只須要加個註解~~~~api
影響文件: pom.xml , application.yml , logback.xml springboot
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.10</version> </dependency>
logging: level: root: ERROR org.springframework: ERROR org.mybatis: ERROR #本身的工程包名錄 : 日誌級別 org.xxx.xxx.wx: DEBUG org.xxx.xxx.db: DEBUG org.xx.xx: INFO file: /var/logs/litemall-wx-api/xxx.log
<?xml version="1.0" encoding="UTF-8"?> <configuration debug="false"> <!--定義日誌文件的存儲地址 勿在 LogBack 的配置中使用相對路徑--> <property name="LOG_HOME" value="/var/logs/xxxx/" /> <!-- 控制檯輸出 --> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日誌消息,%n是換行符--> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> </encoder> </appender> <!-- 按照天天生成日誌文件 --> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--日誌文件輸出的文件名--> <FileNamePattern>${LOG_HOME}/info.log.%d{yyyy-MM-dd}.log</FileNamePattern> <!--日誌文件保留天數--> <MaxHistory>30</MaxHistory> </rollingPolicy> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日誌消息,%n是換行符--> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> </encoder> <!--日誌文件最大的大小--> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <MaxFileSize>100MB</MaxFileSize> </triggeringPolicy> </appender> <!--只保存error日誌--> <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>ERROR</level> </filter> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日誌消息,%n是換行符--> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> </encoder> <!--滾動輸出策略--> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--日誌文件輸出的文件名--> <FileNamePattern>${LOG_HOME}/error.log.%d{yyyy-MM-dd}.log</FileNamePattern> <!--日誌文件保留天數--> <MaxHistory>30</MaxHistory> </rollingPolicy> <!--日誌文件最大的大小--> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <MaxFileSize>100MB</MaxFileSize> </triggeringPolicy> </appender> <root level="INFO"> <appender-ref ref="STDOUT" /> <appender-ref ref="FILE" /> <appender-ref ref="fileErrorLog" /> </root> <!-- <!– 開發環境日誌級別爲DEBUG/而且開發環境不寫日誌文件 –>--> <!-- <springProfile name="dev">--> <!-- <!– 日誌輸出級別 –>--> <!-- <root level="DEBUG">--> <!-- <appender-ref ref="STDOUT" />--> <!-- <appender-ref ref="FILE" />--> <!-- <appender-ref ref="fileErrorLog" />--> <!-- </root>--> <!-- </springProfile>--> <!-- <!– 測試環境日誌級別爲INFO/而且記錄日誌文件 –>--> <!-- <springProfile name="test">--> <!-- <!– 日誌輸出級別 –>--> <!-- <root level="INFO">--> <!-- <appender-ref ref="STDOUT" />--> <!-- <appender-ref ref="FILE" />--> <!-- <appender-ref ref="fileErrorLog" />--> <!-- </root>--> <!-- </springProfile>--> </configuration>
生成規則: mybatis
import lombok.extern.slf4j.Slf4j;