composite-build-usage-example

Форк
0
61 строка · 2.1 Кб
1
package by.andd3dfx.templateapp.util;
2

3
import lombok.AccessLevel;
4
import lombok.NoArgsConstructor;
5
import lombok.extern.slf4j.Slf4j;
6
import org.apache.commons.lang3.StringUtils;
7
import org.springframework.core.env.Environment;
8

9
import java.net.InetAddress;
10
import java.net.UnknownHostException;
11

12
/**
13
 * Use next syntax for your main class:
14
 * <pre>
15
 * public static void main(String[] args) {
16
 *     Environment env = new SpringApplication(MainApplication.class)
17
 *             .run(args)
18
 *             .getEnvironment();
19
 *     StartupHelper.logApplicationStartup(env);
20
 * }
21
 * <pre/>
22
 */
23
@Slf4j
24
@NoArgsConstructor(access = AccessLevel.PRIVATE)
25
public final class StartupHelper {
26

27
    public static void logApplicationStartup(Environment env) {
28
        String protocol = "http";
29
        if (env.getProperty("server.ssl.key-store") != null) {
30
            protocol = "https";
31
        }
32

33
        String serverPort = env.getProperty("server.port");
34
        String contextPath = env.getProperty("server.servlet.context-path");
35
        if (StringUtils.isBlank(contextPath)) {
36
            contextPath = "/";
37
        }
38

39
        String hostAddress = "localhost";
40
        try {
41
            hostAddress = InetAddress.getLocalHost().getHostAddress();
42
        } catch (UnknownHostException e) {
43
            log.warn("The host name could not be determined, using `localhost` as fallback");
44
        }
45

46
        log.info("\n----------------------------------------------------------\n\t"
47
                        + "Application '{}' is running! Access URLs:\n\t"
48
                        + "Local: \t\t{}://localhost:{}{}\n\t"
49
                        + "External: \t{}://{}:{}{}\n\t"
50
                        + "Profile(s): \t{}\n----------------------------------------------------------",
51
                env.getProperty("spring.application.name"),
52
                protocol,
53
                serverPort,
54
                contextPath,
55
                protocol,
56
                hostAddress,
57
                serverPort,
58
                contextPath,
59
                env.getActiveProfiles());
60
    }
61
}
62

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.