spring boot의 banner / log 에 color 를 입혀보자
ASCII ART
문자 -> ASCII ART로 변환 : http://patorjk.com/software/taag/#p=display&f=Graffiti&t=Type%20Something%20
그림 -> ASCII ART로 변환 : http://picascii.com/
banner 변경
공식 문서 참조 : https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-spring-application.html
resources 디렉토리에 ASCII ART 로 디자인한 내용을 담은 banner.txt 파일을 놔두면 된다.
color 입히는 방법은 아래 예제를 참조
banner.txt
${AnsiColor.RED} ____ ____ ${AnsiColor.BLACK} _________ __ __ ${AnsiColor.RED}| | / _/ ${AnsiColor.BLACK} / _____/| |__ ____ ______ ______ |__| ____ ____ ${AnsiColor.RED}| < ${AnsiColor.BLACK} \_____ \ | | \ / _ \\ __ \\ __ \| |/ \ / __ \ ${AnsiColor.RED}| | \ ${AnsiColor.BLACK} / \| Y ( <_> ) |_> > |_> > | | \/ /_/ > ${AnsiColor.RED}|____|\____\ ${AnsiColor.BLACK} /_________/|___|__/\____/| __/| __/|__|___|__/\___ / ${AnsiColor.RED} ${AnsiColor.BLACK} |__| |__| /_____/ ${AnsiColor.BLACK} ...Running ${AnsiColor.BRIGHT_RED}Kshop sample application${AnsiColor.BRIGHT_BLACK} |
log coloring
logback(spring boot default logger) 의 log encoder 를 설정하면 된다.
설정 방법은 아래 예제를 참조
logback.groovy
appender( 'console' , ConsoleAppender) { encoder(PatternLayoutEncoder) { pattern = '%magenta(%d{yyyy-MM-dd HH:mm:ss.SSS}) %highlight(%5level) --- %yellow([%25thread]) %cyan(%logger{36}) - %msg%n' } } appender( 'rolling' , RollingFileAppender) { file = "logs/daily.log" append = true rollingPolicy(TimeBasedRollingPolicy) { fileNamePattern = "/logs/daily.log.%d{yyyy-MM-dd}.gz" maxHistory = 10 } encoder(PatternLayoutEncoder) { pattern = '%-5level %d{yyyy-MM-dd HH:mm:ss} [%thread] %logger{36} - %msg%n' } } root(INFO, [ 'console' , 'rolling' ]) |