一般springboot项目日志开头都是这样的:
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.4.2)
但是别人的日志是这样的:
// _ooOoo_ //
// o8888888o //
// 88" . "88 //
// (| ^_^ |) //
// O\ = /O //
// ____/`---'\____ //
// .' \\| |// `. //
// / \\||| : |||// \ //
// / _||||| -:- |||||- \ //
// | | \\\ - /// | | //
// | \_| ''\---/'' | | //
// \ .-\__ `-` ___/-. / //
// ___`. .' /--.--\ `. . ___ //
// ."" '< `.___\_<|>_/___.' >'"". //
// | | : `- \`.;`\ _ /`;.`/ - ` : | | //
// \ \ `-. \_ __\ /__ _/ .-` / / //
// ========`-.____`-.___\_____/___.-`____.-'======== //
// `=---=' //
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ //
// 佛祖保佑 永无BUG 永不修改 //
__----~~~~~~~~~~~------___
. . ~~//====...... __--~ ~~
-. \_|// |||\\ ~~~~~~::::... /~
___-==_ _-~o~ \/ ||| \\ _/~~-
__---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~
_-~~ .=~ | \\-_ '-~7 /- / || \ /
.~ .~ | \\ -_ / /- / || \ /
/ ____ / | \\ ~-_/ /|- _/ .|| \ /
|~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\
' ~-| /| |-~\~~ __--~~
|-~~-_/ | | ~\_ _-~ /\
/ \ \__ \/~ \__
_--~ _/ | .-~~____--~-/ ~~==.
((->/~ '.|||' -_| ~~-/ , . _||
-_ ~\ ~~---l__i__i__i--~~_/
_-~-__ ~) \--______________--~~
//.-~~~-~_--~- |-------~~~~~~~~
//.-~~~--\
.--, .--,
( ( \.---./ ) )
'.__/o o\__.'
{= ^ =}
> - <
/ \
// \\
//| . |\\
"'\ /'"_.-~^`'-.
\ _ /--' `
___)( )(___
(((__) (__))) 高山仰止,景行行止.虽不能至,心向往之。
/*
* ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
* │Esc│ │ F1│ F2│ F3│ F4│ │ F5│ F6│ F7│ F8│ │ F9│F10│F11│F12│ │P/S│S L│P/B│ ┌┐ ┌┐ ┌┐
* └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ └┘ └┘ └┘
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐
* │~ `│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│ BacSp │ │Ins│Hom│PUp│ │N L│ / │ * │ - │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│ | \ │ │Del│End│PDn│ │ 7 │ 8 │ 9 │ │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤ + │
* │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter │ │ 4 │ 5 │ 6 │ │
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ ├───┼───┼───┼───┤
* │ Shift │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │
* ├─────┬──┴─┬─┴──┬┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ E││
* │ Ctrl│ │Alt │ Space │ Alt│ │ │Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │←─┘│
* └─────┴────┴────┴───────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
*/
要想在springboot项目开头打印这样的日志,可不是简单的log.info
首先自定义banner类,通过下面的网站创建自己想要的样式,复制过来:
package com.zhbr.api.config;
import org.springframework.boot.Banner;
import org.springframework.core.env.Environment;
import java.io.PrintStream;
public class AppBanner implements Banner {
@Override
public void printBanner(Environment environment, Class<?> sourceClass, PrintStream out) {
out.println("\n"+
"||========================================================================================================================================================||\n" +
"|| \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t ||\n" +
"|| $$$$$$$$\\ $$\\ $$\\ $$$$$$$\\ $$$$$$$\\ $$$$$$\\ $$$$$$$\\ $$$$$$\\ $$$$$$\\ $$$$$$$$\\ $$$$$$$\\ $$\\ $$\\ $$$$$$\\ $$$$$$\\ $$$$$$$$\\ ||\n" +
"|| \\____$$ |$$ | $$ |$$ __$$\\ $$ __$$\\ $$ __$$\\ $$ __$$\\\\_$$ _| $$ __$$\\ $$ _____|$$ __$$\\ $$ | $$ |\\_$$ _|$$ __$$\\ $$ _____| ||\n" +
"|| $$ / $$ | $$ |$$ | $$ |$$ | $$ | $$ / $$ |$$ | $$ | $$ | $$ / \\__|$$ | $$ | $$ |$$ | $$ | $$ | $$ / \\__|$$ | ||\n" +
"|| $$ / $$$$$$$$ |$$$$$$$\\ |$$$$$$$ | $$$$$$$$ |$$$$$$$ | $$ | \\$$$$$$\\ $$$$$\\ $$$$$$$ |\\$$\\ $$ | $$ | $$ | $$$$$\\ ||\n" +
"|| $$ / $$ __$$ |$$ __$$\\ $$ __$$< $$ __$$ |$$ ____/ $$ | \\____$$\\ $$ __| $$ __$$< \\$$\\$$ / $$ | $$ | $$ __| ||\n" +
"|| $$ / $$ | $$ |$$ | $$ |$$ | $$ | $$ | $$ |$$ | $$ | $$\\ $$ |$$ | $$ | $$ | \\$$$ / $$ | $$ | $$\\ $$ | ||\n" +
"|| $$$$$$$$\\ $$ | $$ |$$$$$$$ |$$ | $$ | $$ | $$ |$$ | $$$$$$\\ \\$$$$$$ |$$$$$$$$\\ $$ | $$ | \\$ / $$$$$$\\ \\$$$$$$ |$$$$$$$$\\ ||\n" +
"|| \\________|\\__| \\__|\\_______/ \\__| \\__| \\__| \\__|\\__| \\______| \\______/ \\________|\\__| \\__| \\_/ \\______| \\______/ \\________| ||\n" +
"|| \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t ||\n" +
"||========================================================================================================================================================||");
}
}
修改springboot主方法类,指定自己创建的banner:
package com.zhbr.api;
import com.zhbr.api.config.AppBanner;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.web.ServerProperties;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.util.StopWatch;
import java.net.UnknownHostException;
@Slf4j
@SpringBootApplication
public class NxSwytApiAuto {
public static void main(String[] args) throws UnknownHostException {
StopWatch stopWatch = new StopWatch();
stopWatch.start();
ConfigurableApplicationContext context = new SpringApplicationBuilder(NxSwytApiAuto.class)
.logStartupInfo(false)
.banner(new AppBanner())
.run(args);
stopWatch.stop();
Integer port = context.getBean(ServerProperties.class).getPort();
log.info("API服务启动完成,耗时:{}s,请访问WEB: http://xxx.xxx.xxx.xxx:{} ", stopWatch.getTotalTimeSeconds(),port);
}
}
如果想要文字类型的,可以访问以下网站,制作自己的专属样式:
http://patorjk.com/software/taag/#p=display&f=Graffiti&t=Type%20Something%20
如果想要图片样式的,可以访问以下网站,自己制作:
http://www.makepic.net/Tool/Image2ascii.html