一. 扼要介绍
官网介绍:
Simple Logging Facade for Java (SLF4J) 充当简单的 各种日记记录框架的 Facade 或抽象 (e.g. java.util.logging、logback、log4j)允许最终用户在摆设时插入所需的日记记录框架。
雷同java中的接口,假如只集成SLF4J,日记只能输出在控制台,并没有输出到文件的本领,要实现真正的日记本领,须要引入实在现层:比如log4j,log4j2,logback等
logback是log4j的创始人重新设计研发的升级版“log4j”,遵循log4j雷同的设计,但重写改进了底层实现
logback分为三大块:
- logback-core:模块为其他两个模块的基础。
- logback-classic:模块可以被看做是log4j的改进版本。此外,logback-classic 本身实现了 SLF4J API,因此可以在 logback 和其他日记框架(如 log4j 或 java.util.logging(JUL))之间来回切换。
- logback-access:模块与 Servlet 容器(如 Tomcat 和 Jetty)集成,以提供 HTTP 访问日记功能。
二. 依赖引入
假如黑白springboot项目,须要引入logback-classic
- <dependency>
- <groupId>ch.qos.logback</groupId>
- <artifactId>logback-classic</artifactId>
- </dependency>
复制代码 进入logback-classic会发现内部已经引入slf4j-api和logback-core
假如是springboot/cloud项目,只须要引入spring-boot-starter-web即可
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-web</artifactId>
- </dependency>
复制代码 我们来看一下为什么
- 进入 spring-boot-starter-web 找到 spring-boot-starter
- 进入 spring-boot-starter 找到 spring-boot-starter-logging
- 进入 spring-boot-starter-logging 找到 logback-classic
- 进入 logback-classic 找到 slf4j-api和logback-core
三. yml文件配置
开发/测试情况打开mybatis日记
- mybatis-plus:
- global-config:
- configuration:
- log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
复制代码 四. logback-spring.xml文件配置
在springboot项目/springcloud每个模块 的resources下创建 logback-spring.xml文件
要修改一下log.name,推荐logs/项目名称,假如是微服务项目,推荐logs/模块名称
按需选择是否解释修改最后面的不同情况的日记级别配置:开发情况推荐debug级别,生产情况推荐info级别
假如是微服务项目,把logback-spring.xml在每一个模块下的resources都添加一份,把log.name修改一下即可
- <?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/这里改为模块名称"/>
- <!--输出到控制台 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>
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |