原文链接

一、日志管理

1.在application.properties文件中加入如下内容:

  1. logging.level.root=WARN
  2. logging.level.org.springframework.web=DEBUG
  3. logging.file=/log/log/my.log
  4. logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger- %msg%n
  5. logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger- %msg%n

设置了日志输出的级别,以及生成日志文件。再简单一点的话,最后两行也可以不要。

2.使用slf4j日志框架:

  1. private static final Logger LOGGER = LoggerFactory.getLogger(UserController.class);
  1. LOGGER.warn("您执行了UserController类中的userList2()方法。");

好了,不能写太多了。

二、配置Druid

1.在pom.xml文件中添加druid依赖:

  1. <dependency>
  2. <groupId>com.alibaba</groupId>
  3. <artifactId>druid</artifactId>
  4. <version>1.0.26</version>
  5. </dependency>

2.添加配置类,直接拷贝了别人的代码:

  1. package com.yws710.springboot.demo1;
  2.  
  3. import com.alibaba.druid.support.http.StatViewServlet;
  4. import com.alibaba.druid.support.http.WebStatFilter;
  5. import org.slf4j.Logger;
  6. import org.slf4j.LoggerFactory;
  7. import org.springframework.boot.web.servlet.FilterRegistrationBean;
  8. import org.springframework.boot.web.servlet.ServletRegistrationBean;
  9. import org.springframework.context.annotation.Bean;
  10. import org.springframework.context.annotation.Configuration;
  11.  
  12. import java.util.HashMap;
  13. import java.util.Map;
  14.  
  15. @Configuration
  16. public class DruidConfiguration {
  17.  
  18. private static final Logger LOGGER = LoggerFactory.getLogger(DruidConfiguration.class);
  19.  
  20. @Bean
  21. public ServletRegistrationBean druidServlet() {
  22. LOGGER.info("init Druid Servlet Configuration ");
  23. ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean();
  24. servletRegistrationBean.setServlet(new StatViewServlet());
  25. servletRegistrationBean.addUrlMappings("/druid/*");
  26. Map<String, String> initParameters = new HashMap<String, String>();
  27. initParameters.put("loginUsername", "admin");// 用户名
  28. initParameters.put("loginPassword", "admin");// 密码
  29. initParameters.put("resetEnable", "false");// 禁用HTML页面上的“Reset All”功能
  30. initParameters.put("allow", ""); // IP白名单 (没有配置或者为空,则允许所有访问)
  31. //initParameters.put("deny", "192.168.20.38");// IP黑名单 (存在共同时,deny优先于allow)
  32. servletRegistrationBean.setInitParameters(initParameters);
  33. return servletRegistrationBean;
  34. }
  35.  
  36. @Bean
  37. public FilterRegistrationBean filterRegistrationBean() {
  38. FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
  39. filterRegistrationBean.setFilter(new WebStatFilter());
  40. filterRegistrationBean.addUrlPatterns("/*");
  41. filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
  42. return filterRegistrationBean;
  43. }
  44.  
  45.   @Bean
      @ConfigurationProperties(prefix="spring.datasource")
        public DataSource druidDataSource() {
        return new DruidDataSource();
      }
  1. }

3.添加配置文件,打开application.properties文件,加入如下代码:

  1. ##Druid##
  2. spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
  3. spring.datasource.driver-class-name=com.mysql.jdbc.Driver
  4. spring.datasource.url=jdbc:mysql://localhost:3306/demo1?characterEncoding=UTF-8
  5. spring.datasource.username=root
  6. spring.datasource.password=123456
  7.  
  8. spring.datasource.initialSize=5
  9. spring.datasource.minIdle=5
  10. spring.datasource.maxActive=20
  11. spring.datasource.maxWait=60000
  12. spring.datasource.timeBetweenEvictionRunsMillis=60000
  13. spring.datasource.minEvictableIdleTimeMillis=300000
  14. spring.datasource.validationQuery=SELECT 1 FROM DUAL
  15. spring.datasource.testWhileIdle=true
  16. spring.datasource.testOnBorrow=false
  17. spring.datasource.testOnReturn=false
  18. spring.datasource.poolPreparedStatements=true
  19. spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
  20. spring.datasource.filters=stat,wall,log4j
  21. spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
  22. spring.datasource.useGlobalDataSourceStat=true
  23.  
  24. spring.jpa.properties.hibernate.hbm2ddl.auto=update
  25. spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
  26. spring.jpa.show-sql= true

参考:https://github.com/alibaba/druid/

4.启动项目。在浏览器地址栏中输入http://localhost:8080/druid/

由于上面配置了用户名和密码,因此需要登录:

登录成功后的页面就不截图了,用过Druid的自然知道,没用过的赶紧用啊,这么好的东西。

Spring Boot入门第三天:配置日志系统和Druid数据库连接池。的更多相关文章

  1. Spring Boot入门第四天:使用Thymeleaf模板引擎

    原文链接 关于Thymeleaf的优点,我只说一条:它就是html页面啊,直接可以用浏览器打开.受够了JSP的同学可以尝试一下. 1.在pom.xml文件中添加依赖: <!--<depen ...

  2. spring boot 教程(三)配置详解

    在大部分情况下,我们不需要做太多的配置就能够让spring boot正常运行.在一些特殊的情况下,我们需要做修改一些配置,或者需要有自己的配置属性. Spring Boot 支持多种外部配置方式 这些 ...

  3. Spring Boot入门第五天:使用JSP

    原文链接 1.在pom.xml文件中添加依赖: <!-- Servlet依赖 --> <dependency> <groupId>javax.servlet< ...

  4. spring boot:配置druid数据库连接池(开启sql防火墙/使用log4j2做异步日志/spring boot 2.3.2)

    一,druid数据库连接池的功能? 1,Druid是阿里巴巴开发的号称为监控而生的数据库连接池 它的优点包括: 可以监控数据库访问性能 SQL执行日志 SQL防火墙 2,druid的官方站: http ...

  5. spring boot 笔记--第三章

    spring boot 笔记 第三章,使用Spring boot 构建系统: 强烈建议支持依赖管理的构建系统,Maven或Gradle 依赖管理: Spring Boot的每版本都会提供它支持的依赖列 ...

  6. Spring Boot 2.X(十四):日志功能 Logback

    Logback 简介 Logback 是由 SLF4J 作者开发的新一代日志框架,用于替代 log4j. 主要特点是效率更高,架构设计够通用,适用于不同的环境. Logback 分为三个模块:logb ...

  7. Spring Boot应用的后台运行配置

    酱油一篇,整理一下关于Spring Boot后台运行的一些配置方式.在介绍后台运行配置之前,我们先回顾一下Spring Boot应用的几种运行方式: 运行Spring Boot的应用主类 使用Mave ...

  8. Spring Boot 启动(二) 配置详解

    Spring Boot 启动(二) 配置详解 Spring 系列目录(https://www.cnblogs.com/binarylei/p/10198698.html) Spring Boot 配置 ...

  9. JAR(Spring Boot)应用的后台运行配置

    酱油一篇,整理一下关于Spring Boot后台运行的一些配置方式.在介绍后台运行配置之前,我们先回顾一下Spring Boot应用的几种运行方式: 运行Spring Boot的应用主类 使用Mave ...

随机推荐

  1. python简说(七)元组,集合

    一.元组 元组也是一个list,但是它的值不能改变 定义元组的时候,只有一个元素,后面得加逗号 oracle_info = (123,) 二.集合 1.集合天生就可以去重,集合是无序的 2.#交集 r ...

  2. darknet中的若干问题

    2018-04-20: https://github.com/pjreddie/darknet/issues/717 改了一下午,然后/usr/include/c++/4.8/bits/stl_rel ...

  3. django基础 -- 4. 模板语言 过滤器 模板继承 FBV 和CBV 装饰器 组件

    一.语法 两种特殊符号(语法): {{ }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 二.变量 1. 可直接用  {{ 变量名 }} (可调用字符串, 数字 ,列表,字典,对象等) ...

  4. [问题解决]RedHat7更换CentOS7的yum源时踩过的坑

    更换yum源的流程 查看当前yum程序 $ rpm -qa|grep yum 这里推荐将其结果截屏或拷贝出来,以免后面报错修复. 删除原有yum源 $ rpm -aq | grep yum|xargs ...

  5. BZOJ5018: [Snoi2017]英雄联盟

    Description 正在上大学的小皮球热爱英雄联盟这款游戏,而且打的很菜,被网友们戏称为「小学生」.现在,小皮球终于受不 了网友们的嘲讽,决定变强了,他变强的方法就是:买皮肤!小皮球只会玩N个英雄 ...

  6. 如何规避Adobe Flash Player中重橙网络的广告弹窗

    具体解决之道,参见卡饭论坛风之咩的帖子:https://bbs.kafan.cn/thread-2123485-1-1.html

  7. Nuget CsvHelper 的使用

    CsvHelper:nuget地址 csv导出类||生成类 public class CSVHeader { public string head1 { get; set; } public stri ...

  8. Python GIL(Global Interpreter Lock)

    一.介绍 In CPython, the global interpreter lock, or GIL, is a mutex that prevents multiple native threa ...

  9. 2018.3 江苏省计算机等级考试 C语言 编程题答案

    题目要求:给定一个数字范围,输出满足这些条件: 1.能被3整除: 2.包含数字5, 将满足的数字放在特定的数组里输出.输出这些数里5出现的个数.数字的个数. 想起来有点伤心,本来很简单的题,考试的时候 ...

  10. python 下载大文件

    当使用requests的get下载大文件/数据时,建议使用使用stream模式. 当把get函数的stream参数设置成False时,它会立即开始下载文件并放到内存中,如果文件过大,有可能导致内存不足 ...