在Java开发从工作到原理--Spring Boot单体项目构建 中项目启动后打印的日志信息为下图

start javaw 如何输出日志 java启动日志_start javaw 如何输出日志

启动日志

可以看到默认打印的日志级别为INFO级别,对于日志级别的修改可以到项目文件目录下的application.properties文件中通过配置logging.level.root属性值进行修改,修改为DEBUG,项目启动显示信息如下图

start javaw 如何输出日志 java启动日志_tomcat_02

DEBUG级别的日志信息比INFO级别信息要多很多

可以通过包名指定该包名下所有日志的日志级别,例如:

start javaw 如何输出日志 java启动日志_spring_03

对com.example指定日志级别为DEBUG级别后多出红框中日志信息

日志级别分为

  • TRACE
  • DEBUG
  • INFO
  • WARN
  • ERROR

由上到下日志信息的轻重缓急为由轻到重,日志量由多到少,指定为TRACE时会打印所有级别的日志信息,指定为ERROR时只打印ERROR级别的日志。

现在Spring5.2.2.RELEASE版本的spring-jcl的jar包中Log接口还增加了FATAL级别,而 org.slf4j.Logger日志实现中并没有这一级别。

日志内容由上到下分别是:

1、Banner信息(不是很重要,一般不会想进行配置修改);

2、程序信息,主启动类、电脑名称、进程PID;

3、Spring Boot版本信息,Spring版本信息(pom中指定);

4、profile配置确定信息;

5、tomcat启动信息:绑定端口,tomcat版本(由依赖确定);

6、spring-web的WebApplicationContext初始化成功信息;

7、ThreadPoolTaskExecutor(ExecutorService)初始化信息;

8、actuator endpoint暴露信息;

9、项目暴露访问地址context path为”“;

10、项目启动成功日志;

 

以上信息中一般可能会修改的信息有:

profile配置:通过spring. profiles. active属性配置当前激活的环境,有bean的选择性装配功能。

tomcat绑定端口:通过server.port属性配置tomcat启动后监听的端口。

context path接口访问地址前缀:通过server.servlet.context-path配置,必须以”/“开头,统一控制接口的访问地址。

ThreadPoolTaskExecutor的初始化信息表明Spring boot在启动时会启用一个线程池,可以通过 获取到该线程池,进行相关操作。beanName是applicationTaskExecutor。

actuator是spring boot的程序监控组件,Spring boot2.0版本依赖默认开放两个endpoint

 

start javaw 如何输出日志 java启动日志_tomcat_04

health和Info两个endpoint

可以通过配置management. endpoints. web. exposure. include= '*' 开放所有endpoint,有13个endpoint可供使用

 

start javaw 如何输出日志 java启动日志_tomcat_05

所有endpoint的访问地址json信息

能够通过beans端点查看当前spring容器中所有bean的信息;mappings端点查看所有对外的http接口(RequestMapping体系)信息;env端点可以查看所有properties或者yml文件,启动命令中的配置信息;threaddump端点可以进行线程信息查看。当然接口返回的都是json格式数据,但是结合SBA(Spring Boot Admin)项目,可以进行可视化操作,例如动态修改特定包的日志等级,查看jmx信息。