mirror of
https://github.com/kataras/iris.git
synced 2025-02-02 15:30:36 +01:00
Print the banner at PreListen state with a smaller animation
This commit is contained in:
parent
05b6723b19
commit
e5efa6c5d8
26
iris.go
26
iris.go
|
@ -8,9 +8,9 @@ import (
|
||||||
|
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"strconv"
|
"strconv"
|
||||||
|
"sync/atomic"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/fatih/color"
|
"github.com/fatih/color"
|
||||||
"github.com/kataras/iris/config"
|
"github.com/kataras/iris/config"
|
||||||
|
@ -192,27 +192,33 @@ func (s *Iris) printBanner() {
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
i := 0
|
var i uint64 = 0
|
||||||
|
|
||||||
printTicker.OnTick(func() {
|
printTicker.OnTick(func() {
|
||||||
if len(banner) <= i {
|
if len(banner) <= int(atomic.LoadUint64(&i)) {
|
||||||
printTicker.Stop()
|
printTicker.Stop()
|
||||||
|
|
||||||
c.Add(color.FgGreen)
|
c.Add(color.FgGreen)
|
||||||
stationsRunning++
|
stationsRunning++
|
||||||
c.Println()
|
c.Println()
|
||||||
|
|
||||||
|
if s.server != nil && s.server.IsListening() {
|
||||||
if stationsRunning > 1 {
|
if stationsRunning > 1 {
|
||||||
c.Println("Server[" + strconv.Itoa(stationsRunning) + "]")
|
c.Println("Server[" + strconv.Itoa(stationsRunning) + "]")
|
||||||
|
|
||||||
}
|
}
|
||||||
c.Printf("%s: Running at %s\n", time.Now().Format(config.TimeFormat), s.server.Config.ListeningAddr)
|
c.Printf("%s: Running at %s\n", time.Now().Format(config.TimeFormat), s.server.Config.ListeningAddr)
|
||||||
|
|
||||||
|
}
|
||||||
c.DisableColor()
|
c.DisableColor()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
c.Printf("%c", banner[i])
|
c.Printf("%c", banner[i])
|
||||||
i++
|
atomic.AddUint64(&i, 1)
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
printTicker.Start(time.Duration(1) * time.Millisecond)
|
printTicker.Start(time.Duration(500) * time.Nanosecond)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -222,6 +228,11 @@ func (s *Iris) printBanner() {
|
||||||
// returns the station's Server (*server.Server)
|
// returns the station's Server (*server.Server)
|
||||||
// it's a non-blocking func
|
// it's a non-blocking func
|
||||||
func (s *Iris) PreListen(opt config.Server) *server.Server {
|
func (s *Iris) PreListen(opt config.Server) *server.Server {
|
||||||
|
// run the printBanner with nice animation until PreListen and PostListen finish
|
||||||
|
if !s.config.DisableBanner {
|
||||||
|
s.printBanner()
|
||||||
|
}
|
||||||
|
|
||||||
// set the logger's state
|
// set the logger's state
|
||||||
s.logger.SetEnable(!s.config.DisableLog)
|
s.logger.SetEnable(!s.config.DisableLog)
|
||||||
// router preparation, runs only once even if called more than one time.
|
// router preparation, runs only once even if called more than one time.
|
||||||
|
@ -261,9 +272,6 @@ func (s *Iris) PostListen() {
|
||||||
|
|
||||||
// set the websocket
|
// set the websocket
|
||||||
s.initWebsocketServer()
|
s.initWebsocketServer()
|
||||||
if !s.config.DisableBanner {
|
|
||||||
s.printBanner()
|
|
||||||
}
|
|
||||||
|
|
||||||
s.plugins.DoPostListen(s)
|
s.plugins.DoPostListen(s)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user