SpringBoot默认帮我们配置好了日志;
```java
//记录器
Logger logger = LoggerFactory.getLogger(getClass());
@Test
public void contextLoads() {
//System.out.println();
//日志的级别;
//由低到高 trace<debug<info<warn<error
//可以调整输出的日志级别;日志就只会在这个级别以以后的高级别生效
logger.trace("这是trace日志...");
logger.debug("这是debug日志...");
//SpringBoot默认给我们使用的是info级别的,没有指定级别的就用SpringBoot默认规定的级别;root级别
logger.info("这是info日志...");
logger.warn("这是warn日志...");
logger.error("这是error日志...");
}
```
日志输出格式:
%d表示日期时间,
%thread表示线程名,
%-5level:级别从左显示5个字符宽度
%logger{50} 表示logger名字最长50个字符,否则按照句点分割。
%msg:日志消息,
%n是换行符
-->
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
SpringBoot修改日志的默认配置
```properties
logging.level.com.atguigu=trace
#logging.path=
# 不指定路径在当前项目下生成springboot.log日志
# 可以指定完整的路径;
#logging.file=G:/springboot.log
# 在当前磁盘的根路径下创建spring文件夹和里面的log文件夹;使用 spring.log 作为默认文件
logging.path=/spring/log
# 在控制台输出的日志的格式
logging.pattern.console=%d{yyyy-MM-dd} [%thread] %-5level %logger{50} - %msg%n
# 指定文件中日志输出的格式
logging.pattern.file=%d{yyyy-MM-dd} === [%thread] === %-5level === %logger{50} ==== %msg%n
```
| logging.file | logging.path | Example | Description |
| ------------ | ------------ | -------- | ----------------------- |
| (none) | (none) | | 只在控制台输出 |
| 指定文件名 | (none) | my.log | 输出日志到my.log文件 |
| (none) | 指定目录 | /var/log | 输出到指定目录的 spring.log 文件中 |
- Spring Boot 入门
- Spring Boot 简介
- 微服务
- 环境准备
- MAVEN设置
- IDEA设置
- Spring Boot HelloWorld
- 创建一个maven工程;(jar)
- 导入spring boot相关的依赖
- 编写一个主程序;启动Spring Boot应用
- 编写相关的Controller、Service
- 运行主程序测试
- 简化部署
- Hello World探究
- POM文件
- 父项目
- 启动器
- 主程序类,主入口类
- 使用Spring Initializer
- IDEA使用 Spring Initializer
- STS使用 Spring Starter Project快速创建项目
- 配置文件
- 配置文件
- YAML语法
- 基本语法
- 值的写法
- 普通的值(数字,字符串,布尔)
- 对象、Map(属性和值)(键值对)
- 数组(List、Set)
- 配置文件值注入
- 其他问题
- properties配置文件在idea中默认utf-8可能会乱码
- @Value获取值和@ConfigurationProperties获取值比较
- 配置文件注入值数据校验
- @PropertySource&@ImportResource&@Bean
- 配置文件占位符
- 随机数
- 占位符获取之前配置的值
- Profile
- 多Profile文件
- yml支持多文档块方式
- 激活指定profile
- 配置文件加载位置
- 外部配置加载顺序
- 自动配置原理
- 自动配置原理
- 细节
- @Conditional派生注解(Spring注解版原生的@Conditional作用)
- 日志
- 日志框架
- SLF4j使用
- 如何在系统中使用SLF4j
- 遗留问题
- SpringBoot日志关系
- 日志使用
- 默认配置
- 指定配置
- 切换日志框架
- Web开发
- 简介
- SpringBoot对静态资源的映射规则
- 模板引擎
- 引入thymeleaf
- Thymeleaf使用
- 语法规则
- SpringMVC自动配置
- Spring MVC auto-configuration
- 扩展SpringMVC
- 全面接管SpringMVC
- 如何修改SpringBoot的默认配置
- RestfulCRUD
- 默认访问首页
- 国际化
- 登陆
- 拦截器进行登陆检查
- CRUD-员工列表
- thymeleaf公共页面元素抽取
- CRUD-员工添加
- CRUD-员工修改
- CRUD-员工删除
- 错误处理机制
- SpringBoot默认的错误处理机制
- 如果定制错误响应
- 如何定制错误的页面
- 如何定制错误的json数据
- 将我们的定制数据携带出去
- 配置嵌入式Servlet容器
- 如何定制和修改Servlet容器的相关配置
- 注册Servlet三大组件【Servlet、Filter、Listener】
- 替换为其他嵌入式Servlet容器
- 嵌入式Servlet容器自动配置原理
- 嵌入式Servlet容器启动原理
- 使用外置的Servlet容器
- 步骤
- 原理
- Docker
- 简介
- 核心概念
- 安装Docker
- 安装linux虚拟机
- 在linux虚拟机上安装docker
- Docker常用命令&操作
- 镜像操作
- 容器操作
- 安装MySQL示例
- SpringBoot与数据访问
- JDBC
- 整合Druid数据源
- 整合MyBatis
- 注解版
- 配置文件版
- 整合SpringData JPA
- SpringData简介
- 整合SpringData JPA
- 启动配置原理
- 创建SpringApplication对象
- 运行run方法
- 事件监听机制
- 自定义starter