如何给自己的应用加上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 字符,然后输出。

上一篇下一篇

猜你喜欢

热点阅读