传统方式打印日志比较复杂, 每次打印须要定义全局变量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;