首页 > 其他分享 >SpringBoot2 配置

SpringBoot2 配置

时间:2022-11-30 12:38:53浏览次数:70  
标签:输出 logging level 配置 yaml SpringBoot2 日志 logger

一.Properties与Yaml

SpringBoot支持properties与yaml两种配置文件application.properties/application.yml

yaml简单使用

1.yaml简介

yaml是以数据为中心的,比json,xml更适合做配置文件

2.yaml基本语法

k: v:形式的键值对,:后面必须有空格
以空格缩进来控制层级关系
大小写敏感

例子:

server:
port: 8081 # 设置默认端口号
servlet:
path: /init

值的写法

k: v 直接书写

【字符串默认不用加上单引号或者双引号】

"":双引号;不会转义字符串里面的特殊字符;

'':单引号;会转义特殊字符,特殊字符最终只是一个普通的字符串数据

对象

k: v:在下一行来写对象的属性和值的关系

例如:

persion:
name: zhangsan
age: 10

行内写法:

persion: {name: zhangsan,age: 10}

数组(List,Set,Map)

普通数组,List,Set 使用 -值 来表示数组中的一个元素

arrays:
- arrays1
- arrays2
- arrays3

Map使用k: v的形式来表示

map:
k1: v1
k2: v2
k3: v3

使用配置文件注入

在pom.xml引入依赖,用于注释处理器生成自己的元数据

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>

实体类:

/**
* persion类
*/
@Component
@ConfigurationProperties(prefix = "persion")
public class Persion {

private String name;
private int age;
private boolean isMan;
private Date birth;

private String[] hobbys;
private Map<String,String> skills;
private List<String> enjoys;

// 省略getter setter toString

}

yaml配置:

persion:
name: zhangsan
age: 20
isMan: true
birth: 1997/11/12
hobbys:
- 篮球
- 足球
- 乒乓球
skills:
java: javase
python: ai
enjoys:
- eating
- running
- playgames

测试类

@Autowired
Persion persion;

@Test
public void contextLoads() {
System.out.println(persion);
}

yaml语法教程 
​​​http://www.ruanyifeng.com/blog/2016/07/yaml.html​

二.服务器配置

更改端口:

server.port=8081

更改上下文访问路径,SpringBoot默认范文路径为“/”:

server.servlet.context-path=/base

常见的服务器配置

server.port:SpringBoot监听端口
server.error.path:错误处理路径
server.servlet.context-path:配置SpringBoot默认上下文路径

 

三 日志配置
定义日志级别
日志级别 ERROR WARN DEBUF INFO TRACE 级别从高到低

# 输出日志级别 ERROR WARN DEBUF INFO TRACE,日志只会打印当前级别,以及高于当前级别的日志
logging.level.root=info

输出日志到文件

# 输出日志到文件
logging.file=/my.log

定义日志输出格式
输出到控制台日志格式:

logging.pattern.console=【%level %date %logger %thread %M %L %m】 %n

输出到日志文件的日志格式:

# 定义输出到文件的日志格式
logging.pattern.file=【%level %date %logger %thread %M %L %m】 %n

日志格式基本参数

属性    内容
%level 表示输出日志级别
%date 表示日期发生时的时间
%logger 用于输出Logger名字,包名+类名,{n}限定输出长度
%thread 当前线程名
%M 日志发生时方法的名字
%L 日志调用所在代码行
%m 日志消息
%n 日志换行

日志使用例子:

public class Hello {
public static void main(String[] args) {
Logger logger = LoggerFactory.getLogger(Hello.class);
logger.debug("Hello World");
}
}

日志的输出格式:

%d:表示日期时间

%thread:表示线程名

%‐5level:级别从左显示5个字符宽度

%logger{50}:表示logger名字最长50个字符,否则按照句点分割。

%msg:日志消息

%n:是换行符

%d{yyyy‐MM‐dd HH:mm:ss.SSS} [%thread] %‐5level %logger{50} ‐ %msg%n

例子:

设置application.properties的日志配置

# 设置日志等级
logging.level.com.fjut.*=trace

# 设置在控制台输出的日志的格式
logging.pattern.console=[%d{yyyy‐MM‐dd}]-[%level]-[%msg]-%logger{50}%n

# 指定文件中日志输出的格式
logging.pattern.file=%d{yyyy‐MM‐dd} === [%thread] === %level === %logger{50} ==== %msg%n
# 设置输出日志文件
logging.file=/my.log

测试:

//打印五个等级的日志
@Test
public void contextLoads() {
Logger logger = LoggerFactory.getLogger(getClass());
logger.error("error ...");
logger.warn("warn ...");
logger.debug("debug ...");
logger.info("info ...");
logger.trace("trace ...");
}

 



源码面前,了无秘密



标签:输出,logging,level,配置,yaml,SpringBoot2,日志,logger
From: https://blog.51cto.com/zhenghongxin/5898227

相关文章

  • Spring Boot 配置多数据源
    SpringBoot配置多数据源作者:Grey原文地址:博客园:SpringBoot配置多数据源CSDN:SpringBoot配置多数据源说明本文主要介绍了SpringBoot下如何配置多数据源。环......
  • springboot2 生产部署注意事项【持续更新】
    注意事项1.去除不需要的jar开发工具jar:springs-boot-devtools2.监控一定要做好权限制或者去除 控制jar:spring-boot-starter-actuator监控druid的监控......
  • SpringBoot2 使用Spring Session集群
    有几种办法:1.扩展指定server利用Servlet容器提供的插件功能,自定义HttpSession的创建和管理策略,并通过配置的方式替换掉默认的策略。缺点:耦合Tomcat/Jetty等Servlet容器,不能......
  • Apache 配置虚拟主机三种方式
    一、基于IP 1.假设服务器有个IP地址为192.168.1.10,使用ifconfig在同一个网络接口eth0上绑定3个IP:[root@localhost root]# ifconfig eth0:1 192.168.1.11[root@localho......
  • SpringBoot2 web
    验证框架SpringBoot支持JSR-303,Bean等验证框架JSR-303JSR-303是Java的标准验证框架,已有实现Hibernatevalidator.JSR-303验证类型空检查@Null验证对象是否为null@Not......
  • Linux NFS服务器的安装与配置
    最近用到了nfs的文件共享和数据分发,一个简单的分发步骤如下【测试通过】:1)查看NFS软件包是否安装:rpm-aqnfs-utilsportmaprpcbind2)NFS依赖于rpcbind服务,所以检查rpc服......
  • Nginx配置详解
    nginx配置文件结构...#全局块events{#events块...}http#http块{...#http全局块server#server块{...#server......
  • maven的作用及配置教程
    Maven可以使我们在构建项目时需要用到很多第三方类jar包,如下一些常用jar包  而maven的出现可以让我们避免手动导入jar包出现的某些问题,它可以自动下载那须所需要的ja......
  • 生产环境服务器磁盘配置参考
    1.简介在“Linux系统生产环境配置指南”​​https://blog.51cto.com/waringid/5782872​​中简要说明了生产环境物理服务器的配置要求,在实际的业务环境需要综合考虑性能......
  • PLSQL Developer 15安装及配置
    下载PLSQLDeveloper访问官网并选择自己相应版本下载,注意下载的仅仅是30天试用版本,并安装https://www.allroundautomations.com/try-it-free/产品编号ProductCode:k......