如何给自己的应用加上log
2020-11-26 本文已影响0人
liuliuzo
我们可以看到很多应用启动的时候会有很帅气的LOGO,如下所示
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.1.1.RELEASE)
那么我们要如何添加自己应用的LOGO呢?
方法一:
import java.util.concurrent.atomic.AtomicBoolean;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.context.event.ApplicationEnvironmentPreparedEvent;
import org.springframework.boot.context.logging.LoggingApplicationListener;
import org.springframework.context.ApplicationListener;
import org.springframework.core.annotation.Order;
@Order(LoggingApplicationListener.DEFAULT_ORDER + 1)
public class CeresLogo implements ApplicationListener<ApplicationEnvironmentPreparedEvent> {
private static final Logger log = LoggerFactory.getLogger(CeresLogo.class);
private static final String CERES_LOGO = "\n";
private volatile AtomicBoolean alreadyLog = new AtomicBoolean(false);
@Override
public void onApplicationEvent(final ApplicationEnvironmentPreparedEvent event) {
if (!alreadyLog.compareAndSet(false, true)) {
return;
}
log.info(buildBannerText());
}
private String buildBannerText() {
return CERES_LOGO;
}
}
方法二:
只要你在 resources 目录下放置名为 banner.txt、banner.gif 、banner.jpg 或 banner.png 的文件,Spring Boot 会自动加载,将其作为启动时打印的 logo。
对于文本文件,Spring Boot 会将其直接输出。
对于图像文件( banner.gif 、banner.jpg 或 banner.png ),Spring Boot 会将图像转为 ASCII 字符,然后输出。