ToB企服应用市场:ToB评测及商务社交产业平台

标题: SpringCloud/Boot集成LogBack [打印本页]

作者: 欢乐狗    时间: 7 小时前
标题: SpringCloud/Boot集成LogBack
一. 扼要介绍

   官网介绍:
Simple Logging Facade for Java (SLF4J) 充当简单的 各种日记记录框架的 Facade 或抽象 (e.g. java.util.logging、logback、log4j)允许最终用户在摆设时插入所需的日记记录框架。
    雷同java中的接口,假如只集成SLF4J,日记只能输出在控制台,并没有输出到文件的本领,要实现真正的日记本领,须要引入实在现层:比如log4j,log4j2,logback等
     logback是log4j的创始人重新设计研发的升级版“log4j”,遵循log4j雷同的设计,但重写改进了底层实现
    logback分为三大块:
  
  二. 依赖引入

假如黑白springboot项目,须要引入logback-classic
  1. <dependency>
  2.     <groupId>ch.qos.logback</groupId>
  3.     <artifactId>logback-classic</artifactId>
  4. </dependency>
复制代码
进入logback-classic会发现内部已经引入slf4j-api和logback-core

假如是springboot/cloud项目,只须要引入spring-boot-starter-web即可
  1. <dependency>
  2.    <groupId>org.springframework.boot</groupId>
  3.    <artifactId>spring-boot-starter-web</artifactId>
  4. </dependency>
复制代码
我们来看一下为什么
三. yml文件配置

开发/测试情况打开mybatis日记
  1. mybatis-plus:
  2.   global-config:
  3.     configuration:
  4.       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修改一下即可
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration debug="false" scan="true" scanPeriod="1 seconds">
  3.     <contextName>logback</contextName>
  4.        <!--必须修改:改成你的日志文件名,下面配置表示:在项目启动目录下,创建个logs文件夹,并将日志写入到demo.log文件中-->
  5.     <property name="log.name" value="logs/这里改为模块名称"/>
  6.     <!--输出到控制台 ConsoleAppender-->
  7.     <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
  8.         <encoder>
  9.             <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
  10.         </encoder>
  11.     </appender>
  12.   <!--必须要配置:下面配置含义,当单个日志文件大小超过100M后,会生成新日志文件,并将旧其按日志进行打包压缩,当日志总大小超过10G或者日志时间超过7天,就吧最老的日志删除,避免日志撑爆服务器硬盘导致服务器宕机-->
  13.     <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
  14.         <file>${log.name}.log</file>
  15.         <!--滚动策略,按照时间滚动 TimeBasedRollingPolicy-->
  16.         <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
  17.             <!--文件路径,定义了日志的切分方式——把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间-->
  18.             <FileNamePattern>${log.name}.%d{yyyy-MM-dd}.%i.log.gz</FileNamePattern>
  19.             <!-- 单个日志文件最多 100MB -->
  20.             <maxFileSize>100MB</maxFileSize>
  21.             <!--只保留最近7天的日志-->
  22.             <maxHistory>7</maxHistory>
  23.             <!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志-->
  24.             <totalSizeCap>10GB</totalSizeCap>
  25.         </rollingPolicy>
  26.         <!--日志输出编码格式化-->
  27.         <encoder>
  28.             <charset>UTF-8</charset>
  29.             <pattern>%d [%t] %-5level %logger{36}.%M\(%file:%line\) - %msg%n</pattern>
  30.         </encoder>
  31.     </appender>
  32. <!--  <root level="info">
  33.         <appender-ref ref="console"/>
  34.         <appender-ref ref="file"/>
  35.     </root>-->
  36.     <logger name="org.springframework" level="warn"/>
  37.     <springProfile name="local">
  38.         <!-- 打印mybatis日志 -->
  39.         <logger name="cn.enn.smart.mapper" level="debug"/>
  40.         <root level="info">
  41.             <appender-ref ref="console"/>
  42.             <!--本地环境时,不写入日志文件 -->
  43.         </root>
  44.     </springProfile>
  45.     <springProfile name="dev">
  46.         <!-- 打印mybatis日志 -->
  47.         <logger name="cn.enn.smart.mapper" level="debug"/>
  48.         <root level="debug">
  49.             <appender-ref ref="console"/>
  50.             <appender-ref ref="file"/>
  51.         </root>
  52.     </springProfile>
  53.     <springProfile name="test">
  54.         <!-- 打印mybatis日志 -->
  55.         <logger name="cn.enn.smart.mapper" level="debug"/>
  56.         <root level="info">
  57.             <appender-ref ref="console"/>
  58.             <appender-ref ref="file"/>
  59.         </root>
  60.     </springProfile>
  61.     <springProfile name="pro">
  62.         <!-- 打印mybatis日志 -->
  63.         <logger name="cn.enn.smart.mapper" level="debug"/>
  64.         <root level="info">
  65.             <appender-ref ref="console"/>
  66.             <appender-ref ref="file"/>
  67.         </root>
  68.     </springProfile>
  69. </configuration>
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4