Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logging 我可以为Spring启动应用程序配置启动和关闭日志吗?_Logging_Spring Boot_App Startup - Fatal编程技术网

Logging 我可以为Spring启动应用程序配置启动和关闭日志吗?

Logging 我可以为Spring启动应用程序配置启动和关闭日志吗?,logging,spring-boot,app-startup,Logging,Spring Boot,App Startup,为了验证Spring引导应用程序的启动和关闭,我们需要配置一个startup.log和shutdown.log来捕获引导和关闭应用程序的事件 对于启动所有内容,最多: Root WebApplicationContext: initialization completed in {x} ms 对于以下各项: Closing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContex

为了验证Spring引导应用程序的启动和关闭,我们需要配置一个startup.log和shutdown.log来捕获引导和关闭应用程序的事件

对于启动所有内容,最多:

Root WebApplicationContext: initialization completed in {x} ms
对于以下各项:

Closing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@53bd8fca: startup date [Wed Aug 19 09:47:10 PDT 2015]; root of context hierarchy
到最后


这是特定于容器的吗?(Tomcat vs Jetty vs Undertow)

您可以创建一个事件监听器,监视
ApplicationReadyEvent
ContextStoppedEvent
并记录您想要的任何内容

@Service
public class Foo {

    @EventListener
    public void onStartup(ApplicationReadyEvent event) { ... }

    @EventListener
    public void onShutdown(ContextStoppedEvent event) { .... }

}
您可以与和组合


注意:Stephane Nicoll提供的答案确实包含相同(正确)的信息,但我想提供一个有效的Java示例。

我们使用
@PostConstruct
@PreDestroy
来记录启动和关闭:

package hello;

import java.util.Arrays;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {

    @PostConstruct
    public void startupApplication() {
        // log startup
    }

    @PreDestroy
    public void shutdownApplication() {
        // log shutdown
    }

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}
package hello;

import java.util.Arrays;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {

    @PostConstruct
    public void startupApplication() {
        // log startup
    }

    @PreDestroy
    public void shutdownApplication() {
        // log shutdown
    }

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}