认识Spring boot启动之监听器
1. LoggingApplicationListener
用于配置LoggingSystem的一个ApplicationListener实现类,如果环境配置了logging.config属性,它将被用于引导日志系统,否则将使用默认配置。可以通过logging.level.*条目来定制日志的级别和通过 logging.group来定义日志组。
对Spring, Tomcat, Jetty and Hibernate的日志级别输出为Debug 和trace级别是可用的,当环境参数设置了debug 或者 trace 没有设置为false,( 例如:你启用一个应用采用命令:java -jar myapp.jar [--debug | --trace]),如果你更喜欢忽略这些属性,可以设置parseArgs 为false.
默认情况下,日志输出仅写入控制台。如果需要输出到日志文件,你需要配置logging.file.path 和logging.file.name这两个属性。
一些系统属性可能被设置辅助作用,如果日志配置支持占位符(即log4j或logback),则这些属性可能很有用:
- LOG_FILE设置为应写入的日志文件的路径值(如果有)。
- 如果可以确定,则将PID设置为当前进程ID的值。
2. BackgroundPreInitializer
ApplicationListener在耗时任务的后台线程中触发早期初始化。
通过设置IGNORE_BACKGROUNDPREINITIALIZER_PROPERTY_NAME系统属性为true,以禁用此机制,并在前台进行初始化。
3. DelegatingApplicationListener
通过context.listener.classes环境配置属性,配置额外的监听器,通过DelegatingApplicationListener委托给配置的监听器。
4. LiquibaseServiceLocatorApplicationListener
ApplicationListener,它将liquibase ServiceLocator替换为使用Spring Boot可执行归档的版本。
5. EnvironmentPostProcesserApplicationListener
SmartApplicationListener用于触发在spring中注册的环境后处理器