目录
一、配置文件
二、日志配置
#修改tomcat的配置
server.port=8089
server.tomcat.uri-encoding=utf-8
#多个配置文件
spring.profiles.active=dev
SpringBoot新建工程的时候默认生成了application.properties文件,此文件可以自定义一些我们需要使用的配置参数,也可以用来修改springboot默认的参数。还有一种是已yml为后缀的配置文件。
#自定义属性
tcp.switch=true
新建RestController,实现restful接口,然后浏览器中验证自定义的参数
package com.mhm.controller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
*
* Created by MHm on 2018/8/7.
*/
@RestController
public class AlarmController {
@Value("${tcp.switch}")
private String tswitch;
@RequestMapping(value = "/alarmSwitch")
public String isSwitch(){
return tswitch;
}
}
运行java程序, 浏览器中输入restful接口的地址http://localhost:8089/alarmswitch
SpringBoot默认使用的是logback的日志
#日志配置
logging.level.root=debug
代码中增加日志
上面的代码中总是需要增加这样的代码,可以使用注解的方式替换,需要安装lombok插件
private final static Logger logger = LoggerFactory.getLogger(AlarmController.class);
增加lombok的依赖,Reimport。
org.projectlombok
lombok
1.16.20
true
日常的项目中为了好扩展,基本上使用自定义的日志配置文件去配置
logback:logback-spring.xml, logback-spring.groovy, logback.xml, logback.groovy
log4j:log4j-spring.properties, log4j-spring.xml, log4j.properties, log4j.xml
log4j2:log4j2-spring.xml, log4j2.xml
推荐使用*-spring.*的配置方式,如果是springboot制定的文件名则不需要初始化,其他的需要初始化
springbootdemo1
%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg [%thread] %n
INFO
${log.path}/${log.proj}_info.%d{yyyy-MM-dd}.log
30
${total.size}
${max.size}
%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg [%thread] %n
ERROR
${log.path}/${log.proj}_error.%d{yyyy-MM-dd}.log
30
${total.size}
${max.size}
%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg [%thread] %n
log4j2的配置,需要去掉spring-boot-starter-logging的依赖,增加log4j2的依赖。
org.springframework.boot
spring-boot-starter
org.springframework.boot
spring-boot-starter-logging
org.springframework.boot
spring-boot-starter-log4j2
手动添加log4j2的依赖,如果有springboot版本的冲突,可以直接饮用log4j2的jar包。
org.apache.logging.log4j
log4j-api
2.8.2
org.apache.logging.log4j
log4j-core
2.8.2
./log
50MB
代码演示
package com.mhm.controller;
import lombok.extern.log4j.Log4j2;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* Created by MHm on 2018/8/7.
*/
@Log4j2
@RestController
public class CarController {
@RequestMapping(value = "/car")
public String isSwitch(){
log.trace("log4j2 trace");
log.debug("log4j2 debug");
log.info("log4j2 info");
log.warn("log4j2 warn");
log.error("log4j2 error");
return "";
}
}
原因结果
思考问题:
1、springboot配置文件的加载顺序。
2、源码下载
https://github.com/289562326/springbootdemo2