당신은 예를 들어, 배너를 사용자 정의 할 수 Banner
인터페이스를 구현할 수 있습니다 : 당신이 JAVA_HOME
어떠한 시스템 환경 변수를 검색 할 수 있습니다
public class CustomBanner implements Banner {
@Override
public void printBanner(Environment environment, Class<?> aClass, PrintStream printStream) {
printStream.println("|==================================|");
printStream.println("|----------My Demo Module----------|");
printStream.println("|==================================|");
printStream.println("|>>> Java Home : " + environment.getProperty("JAVA_HOME"));
printStream.println("|>>> Process Id : " + ManagementFactory.getRuntimeMXBean().getName());
}
}
변수 environment
으로. printStream
변수를 사용하면 출력을 사용자 정의 할 수 있습니다.
그리고 마지막으로 당신은 예를 들어, 클래스 부팅을 수정해야합니다
출력
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication app = new SpringApplication(DemoApplication.class);
app.setBanner(new CustomBanner());
app.run(args);
}
}
:
|==================================|
|----------My Demo Module----------|
|==================================|
|>>> Java Home : /usr/bin/java
|>>> Process Id : [email protected]
덕분에, @Sergey Rybalkin는 사실, 멀티 모듈 프로젝트에서 일하고 있어요 . 각 하위 모듈에는 productTitle과 같은 몇 가지 유사한 필드가 있지만 값은 다릅니다. 하나의 공통 응용 프로그램 속성 파일이 있습니다. 프로젝트를 실행할 때 스프링 부트 배너에 비슷한 필드 값 (각 하위 모듈에 대해 다른 값이 분명히 있음)을 표시하려고합니다. 그래서 그 필드/변수를 실행중인 프로세스 환경으로 설정하고이를 내 banner.txt 파일에서 호출하려고합니다. – neelrotno
어쩌면 당신을 완전히 이해하지 못할 수도 있습니다. 그러나'XX : + PrintFlagsFinal'을 사용하면 jvm 인수를 로깅하는 것이 간단합니다. 인쇄 부팅 속성도 간단합니다. 너의 문제는 무엇인가? –