github.com/unionj-cloud/go-doudou@v1.3.8-0.20221011095552-0088008e5b31/framework/internal/banner/banner.go (about)

     1  package banner
     2  
     3  import (
     4  	"github.com/common-nighthawk/go-figure"
     5  	"github.com/unionj-cloud/go-doudou/framework/internal/config"
     6  	"github.com/unionj-cloud/go-doudou/toolkit/cast"
     7  	"github.com/unionj-cloud/go-doudou/toolkit/stringutils"
     8  	"sync"
     9  )
    10  
    11  var once sync.Once
    12  
    13  func Print() {
    14  	once.Do(func() {
    15  		if !config.CheckDev() {
    16  			return
    17  		}
    18  		banner := config.DefaultGddBanner
    19  		if b, err := cast.ToBoolE(config.GddBanner.Load()); err == nil {
    20  			banner = b
    21  		}
    22  		if banner {
    23  			bannerText := config.DefaultGddBannerText
    24  			if stringutils.IsNotEmpty(config.GddBannerText.Load()) {
    25  				bannerText = config.GddBannerText.Load()
    26  			}
    27  			figure.NewColorFigure(bannerText, "doom", "green", true).Print()
    28  		}
    29  	})
    30  }