본문 바로가기
  • 개발하는 곰돌이
Development/Spring & Spring Boot

[Spring Boot] 스프링부트 실행 시 나타나는 배너를 바꿔보자

by 개발하는 곰돌이 2023. 4. 14.

목차

    시작하기 전에

    스프링부트로 애플리케이션을 개발하는 개발자라면 굉장히 익숙할 스프링 배너. 하지만 너무 자주 보는 배너라 그런지 가끔씩 질린다는 느낌이 들 때가 있다. 이런 경우에 새로운 기분을 느끼기 위해 콘솔에 찍히는 배너를 마음껏 커스텀해보자.

    스프링부트 배너 교체

    스프링부트는 기본적으로 프로젝트 경로 내부의 resources/banner.txt 파일에 작성된 내용을 출력하고, 해당 파일이 없을 경우에는 위의 아주 익숙한 스프링 배너를 출력한다.

     

    banner.txt를 만들고 아무 내용도 입력하지 않으면 이렇게 아예 배너가 나오지 않고

    ============
    스프링부트 배너!
    ============

    내용을 입력하면 이렇게 입력한 내용이 출력되는 것을 볼 수 있다.

     

    하지만 단순 텍스트만 출력되니까 뭔가 배너같지가 않다. 좀 더 그럴싸하게 만들어보자.

    Spring Boot Banner Generator

    링크 : https://devops.datenkollektiv.de/banner.txt/index.html

     

    스프링부트 배너를 자동으로 만들어주는 사이트이다. Banner Text에 원하는 문구를 입력하고 Banner Font를 변경하면 해당 폰트에 맞는 형태의 배너를 자동으로 만들어준다.

     

    하단의 Caption은 Banner Font에 영향을 받지 않고 문자열 그대로 추가되는 캡션이다.

    이런식으로 다양한 폰트를 사용하여 원하는 문구의 배너를 만들 수 있다.

     

    실제 적용 시의 모습

     

    한가지 아쉬운 점은 영어, 숫자, 기본 특수문자를 제외한 다양한 유니코드 문자를 사용할 수 없다.

    Image to Braille

    링크 : https://505e06b2.github.io/Image-to-Braille/

    Github : https://github.com/505e06b2/Image-to-Braille

     

    이미지를 첨부하면 점자 텍스트로 이미지를 그려주는 사이트이다. 원하는 이미지를 첨부하기만 하면 자동으로 변환해주며 우측의 설정을 변경하면 실시간으로 변경된 옵션을 적용한 결과가 나타난다.

     

    이런식으로 사용할 수 있다.

     

    실제 적용 시의 모습

    단색으로 나와서 밋밋하다!

    그런데 이렇게 적용하면 단색으로만 나와서 뭔가 단조롭다. 색을 추가해보자.

     

    아래와 같이 색을 입히고 싶은 문자열 앞에 ${AnsiColor.XXX}를 사용하면 다른 색을 적용할 때까지 해당 색을 적용한다. 이렇게 적용된 색은 비록 인텔리제이 콘솔에서만 볼 수 있지만 그래도 단색보다는 어느정도 색이 입혀진게 더 이쁘다.

    자동완성에는 나와있지 않지만 DEFAULT도 존재한다. ${AnsiColor.DEFAULT}를 적용하면 기본 콘솔 로그 색으로 변경된다.

    
    ${AnsiColor.BLUE}=======______==___=======_____=__============__======
          / / __ \/   |     / ___// /___  ______/ /_  __
    ${AnsiColor.CYAN} __  / / /_/ / /| |     \__ \/ __/ / / / __  / / / /
    / /_/ / ____/ ___ |    ___/ / /_/ /_/ / /_/ / /_/ /
    ${AnsiColor.BRIGHT_CYAN}\____/_/   /_/  |_|   /____/\__/\__,_/\__,_/\__, /
    ===========================================/____/==
    ${AnsiColor.GREEN} :: Spring Boot ::                ${AnsiColor.DEFAULT}(v${spring-boot.version})
    
    

    이렇게 작성된 배너를 적용하고 실행해보면

     

    이쁘게 색이 입혀진 배너를 볼 수 있다!

     

    이외에도 ${AnsiBackground.XXX}를 사용하여 콘솔 배경색도 변경할 수 있긴 한데, 이건 적용해보니까 생각보다 별로였다.

    대충 이런 느낌이다.

    마치며

    프로젝트를 진행할 때 매번 똑같은 스프링 배너를 보다가 직접 커스텀해서 프로젝트별로 배너를 변경해보니까 뭔가 재밌고 기분전환이 되는 것 같다.

    댓글