springboot配置ym管理各种日记(log)

1:yml配置mybatis_plus默认日记框架

mybatis-plus:
  #这个作用是扫描xml文件生效可以和mapper接口文件使用,
  #如果不加这个,就无法使用xml里面的sql语句
  #启动类加了@MapperScan是扫描指定包下mapper接口生效,如果不用@MapperScan可以在每一个mapper接口添加@Mapper注解
  mapper-locations: classpath*:com/example/poi/mapper/**/xml/*Mapper.xml
  global-config:
    # 关闭MP3.0自带的banner
    banner: false
    db-config:
      #主键类型
      id-type: ASSIGN_ID
      # 默认数据库表下划线命名
      table-underline: true
  configuration:
    # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    # 返回类型为Map,显示null对应的字段
    call-setters-on-nulls: true

logging:
  level:
  	# 日记级别,设置的越小捕抓的信息越多 trace
    #root 键指定了根日志记录器的级别为 INFO
    root: INFO
    #com.baomidou.mybatisplus 包下的日志记录器级别为 DEBUG
    com.baomidou.mybatisplus: INFO
  file:
  	#保留了最近 30 天的日志
    max-history: 30
    #每个日记大小,当日记达到100M但还没到达下一天就生成一个新的文件按i序号
    max-size: 100MB
    #保存日记实际路径,确保指定的路径对应的目录已存在,并具有具有的写入权限
    pattern: /home/app/logs//mybatis-%d{yyyy-MM-dd}-%i.log
    #设置日志文件夹存储总大小的上限,超过就删除旧的
    total-size-cap: 1GB

springboot配置ym管理各种日记(log)_第1张图片

1-1: 如果不需要控制台打印parsee mapper file之类信息,可以修改mabatis日记框架,不使用默认StdOutImpl,使用Slf4jImpl,同时加上logiing管理日记,如下

  configuration:
#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl
    call-setters-on-nulls: true
  logging:
  level:
    root: info
    com.baomidou.mybatisplus: debug
  path: G:\temptemptemp\logs
  • 这个可以设计日记在控制台输出,如果日记输出最小为debug日记,如果设计日记级别高就不输出,设置级别底trace也是日记最小输出debug
  • 可以设置日记自己权重打印相应信息出来,查看项目启动情况,trace

2:使用logback-spring.xml生成日记管理,在resource项目下生成文件,文件内容如下

springboot配置ym管理各种日记(log)_第2张图片


<configuration>
    
    <springProperty scope="context" name="logPath" source="log.logPath"/>
    
    <springProperty scope="context" name="logName" source="log.logName"/>







    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%npattern>
            <charset>UTF-8charset>
        encoder>
    appender>

    <appender name="WEB_CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%npattern>
            <charset>UTF-8charset>
        encoder>
    appender>

    
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        
        <file>${logPath}${logName}.logfile>
        
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%npattern>
            <charset>UTF-8charset>
        encoder>
        
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            
            <fileNamePattern>${logPath}${logName}-%d{yyyy-MM-dd}.%i.logfileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>256MBmaxFileSize>
            timeBasedFileNamingAndTriggeringPolicy>
            
            <maxHistory>1maxHistory>
        rollingPolicy>
    appender>

    <root level="INFO">
        <appender-ref ref="FILE"/>
        <appender-ref ref="CONSOLE"/>

    root>

configuration>


< root> 是用来设置默认的日志级别和输出目标,而 < logger> 则是用来针对特定的包或类进行更细粒度的日志配置。两者都可以设置 level 属性,但 < logger> 的级别配置会覆盖 < root> 的默认级别

2-1:如果控制台需要输出mybatis的具体sql信息需要在yml配置mybatis的日记输出框架

  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

System.out.println不能打印到输出日记

com.example.poi.mapper: trace

2-2:如果要将sql执行记录输出到日记,需要在配置日记输出指定mapper路径,如下

logging:
  level:
    root: info
    com.baomidou.mybatisplus: info
    com.example.poi.mapper: info
  path: G:\temptemptemp\logs

在这里插入图片描述

你可能感兴趣的:(spring,boot,后端,java)