sping boot中配置

druid + mybatis-plus配置
spring:
  datasource:
    #    druid相关的配置
    druid:
      url: "jdbc:mysql://120.25.121.220:8088/test?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai"
      password: "root"
      username: "root"
      # 初始化连接大小
      initial-size: 5
      #最大连接池数量
      max-active: 20
      # 最小连接池数量
      min-idle: 3
      # 配置获取连接等待超时的时间 单位毫秒
      max-wait: 60000
      # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
      time-between-eviction-runs-millis: 60000
      # 配置一个连接在池中最小生存的时间,单位是毫秒
      min-evictable-idle-time-millis: 300000
      # 测试连接
      validation-query: select
      # 申请连接的时候检测,建议配置为true,不影响性能,并且保证安全性
      test-while-idle: true
      # 获取连接时执行检测,建议关闭,影响性能
      test-on-borrow: false
      # 归还连接时执行检测,建议关闭,影响性能
      test-on-return: false
      # 打开PSCache,并且指定每个连接上PSCache的大小
      pool-prepared-statements: true
      #      配置监控统计拦截器 防火墙 日志配置
      #      stat监控数据库性能
      #      wall  用于防火墙
      #      日志 slf4j logback
      #      log4j
      #      log4j2
      # 配置多个英文逗号分隔
      filters: stat,wall,slf4j

      max-pool-prepared-statement-per-connection-size: 20
      # 合并多个DruidDataSource的监控数据
      use-global-data-source-stat: true
      # 通过connectProperties属性来打开mergeSql功能;慢SQL记录 SQL优化
      connect-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
      # ===========监控配置===========
      # WebStatFilter配置,说明请参考Druid Wiki,配置_配置WebStatFilter
      web-stat-filter:
        #是否启用StatFilter默认值false
        enabled: true
        # 拦截所有的
        url-pattern: /*
        # 排除一些不必要的url,比如*:js,/jslib/*等等:
        exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico, /druid/*"
        # 关闭和开启session 统计功能 默认关闭
        #        session-stat-enable: true
        # sessionStatMaxCount是1000个
        #        session-stat-max-count: 1000
        # 配置principalSessionName,使得druid能够知道当前的session的用户是谁
        #        principal-session-name:
        # StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
      stat-view-servlet:
        # 是否启用StatViewServlet默认值true
        enabled: true
        url-pattern: /druid/*
        # 界面上有一个重置功能 执行这个操作之后,会导致所有计数器清零,重新计数 建议false
        reset-enable: false
        # 登录的后台的用户名,密码
        login-username: admin
        login-password: admin
        # 访问控制,可以配置allow和deny这两个参数
        # 配置格式 ip或者ip/子网掩码(24) 例如   192.168.2.112 ,192.168.2.112/24
        # 注意 由于匹配规则不支持IPV6,配置了allow或者deny之后,会导致IPV6无法访问。
        # allow:
        # deny:
mybatis-plus:
  #注册mapper.xml
  mapper-locations: classpath:mapper/**/*.xml

  #分布式id选择
  global-config:
    db-config:
      id-type: auto
      #给实体类起别名
  type-aliases-package: com.smart.spring.boot10.domain.entity
HikariCP + mybatis-plus 配置
spring:
  datasource:
    type: com.zaxxer.hikari.HikariDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://120.25.121.220:3306/db_shop?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password: root
    hikari:
      # 是客户端等待连接池连接的最大毫秒数
      connection-timeout: 30000
      # 是允许连接在连接池中空闲的最长时间
      minimum-idle: 10
      # 配置最大池大小
      maximum-pool-size: 65
      # 是允许连接在连接池中空闲的最长时间(以毫秒为单位)
      idle-timeout: 60000
      # 池中连接关闭后的最长生命周期(以毫秒为单位)
      max-lifetime: 600000
      # 配置从池返回的连接的默认自动提交行为。默认值为true。
      auto-commit: true
      # 连接池的名称
      pool-name: MyHikariCP
      # 开启连接监测泄露
      leak-detection-threshold: 5000
      # 测试连接数据库
      connection-test-query: SELECT 1

mybatis-plus:
  mapper-locations: classpath:mapper/**/*.xml
  #分布id的选择
  global-config:
    db-config:
      id-type: auto
      #给实体类起别名
  type-aliases-package: com.smart.spring.boot.test.domain.entity
logging日志配置
logging:
  config: "classpath:logback-spring-dev.xml"
  level:
    root: debug
    com.smart.log.mapper: debug
    com.smart.log.controller: debug

需要自定义xml文件

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true" scan="true" >
    <!--
        日志类型:
            1、正常业务日志:日志文件为log-info.yyyy-MM-dd.log
            2、错误日志:log-err.yyyy-MM.log
            3、警告日志:log-warn.yyyy-MM.log
            4、请求日志文件:http-log.yyyy-MM-dd.log
            日志文件说明:日志文件以天为单位记录,单个大小为30M,一天超过30M的文件以索引0.1.2..标志,比如
            log-info.yyyy-MM-dd.0.log,log-info.yyyy-MM-dd.1.log等等
        追加器:
            FILE-INFO:对应info以后的所有级别,包含业务、警告、错误信息
            FILE-WARN:对应warn级别,包含警告信息
            FILE-ERROR:对应error级别,包含错误信息
    -->
    <contextName>product</contextName>
    <property name="LOG_PATH" value="${user.home}/webapp/"/>
<!--    %d{HH:mm:ss.SSS}——日志输出时间-->
<!--    %thread——输出日志的进程名字,这在Web应用以及异步任务处理中很有用-->
<!--    %-5level——日志级别,并且使用5个字符靠左对齐-->
<!--    %logger- ——日志输出者的名字-->
<!--    %msg——日志消息-->
<!--    %n——平台的换行符-->
    <property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} | %highlight(%-5level) | %boldRed(%thread) | %boldGreen(%logger) | %msg%n"/>
    <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">
        <encoder>
            <pattern>${LOG_PATTERN}</pattern>
            <charset>utf-8</charset>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>debug</level>
        </filter>
    </appender>
    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="FILE-INFO">
        <!--常规日志文件-->
        <file>${LOG_PATH}/log-info.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--归档日志文件-->
            <fileNamePattern>${LOG_PATH}/info/log-info.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>30MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <maxHistory>6</maxHistory>
        </rollingPolicy>
        <append>true</append>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <charset>utf-8</charset>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger Line:%-3L - %m%n</pattern>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>info</level>
        </filter>
    </appender>
    <!--警告日志文件-->
    <appender name="FILE-WARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--常规日志文件-->
        <file>${LOG_PATH}/log-warn.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--归档日志文件-->
            <fileNamePattern>${LOG_PATH}/warn/log-warn.%d{yyyy-MM}.%i.log</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>30MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <maxHistory>6</maxHistory>
        </rollingPolicy>
        <append>true</append>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <charset>utf-8</charset>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger Line:%-3L - %m%n</pattern>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>WARN</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>
    <!--错误日志文件-->
    <appender name="FILE-ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--常规日志文件-->
        <file>${LOG_PATH}/log-err.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--归档日志文件-->
            <fileNamePattern>${LOG_PATH}/err/log-err.%d{yyyy-MM}.%i.log</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>30MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <maxHistory>6</maxHistory>
        </rollingPolicy>
        <append>true</append>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <charset>utf-8</charset>
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>
    <!--请求日志文件-->
    <appender name="HTTP-INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_PATH}/log-http.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_PATH}/http/log-http.%d{yyyy-MM}.%i.log</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>30MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <maxHistory>6</maxHistory>
        </rollingPolicy>
        <append>true</append>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <charset>utf-8</charset>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger Line:%-3L - %m%n</pattern>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>info</level>
        </filter>
    </appender>
    <!-- 异步输出,异步的log片段必须在同步段后面,否则不起作用 -->
    <appender name="FILE-INFO-ASYNC" class="ch.qos.logback.classic.AsyncAppender">
        <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
        <discardingThreshold>0</discardingThreshold>
        <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
        <queueSize>256</queueSize>
        <!-- 添加附加的appender,最多只能添加一个 -->
        <appender-ref ref="FILE-INFO"/>
    </appender>
    <appender name="FILE-WARN-ASYNC" class="ch.qos.logback.classic.AsyncAppender">
        <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
        <discardingThreshold>0</discardingThreshold>
        <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
        <queueSize>256</queueSize>
        <!-- 添加附加的appender,最多只能添加一个 -->
        <appender-ref ref="FILE-WARN"/>
    </appender>
    <appender name="FILE-ERROR-ASYNC" class="ch.qos.logback.classic.AsyncAppender">
        <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
        <discardingThreshold>0</discardingThreshold>
        <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
        <queueSize>256</queueSize>
        <!-- 添加附加的appender,最多只能添加一个 -->
        <appender-ref ref="FILE-ERROR"/>
    </appender>
    <!--根日志-->
    <root level="info">
        <appender-ref ref="STDOUT"/>
        <appender-ref ref="FILE-INFO-ASYNC"/>
        <appender-ref ref="FILE-WARN-ASYNC"/>
        <appender-ref ref="FILE-ERROR-ASYNC"/>
    </root>
</configuration>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值