Skip to content

Commit

Permalink
Merge branch 'devel'
Browse files Browse the repository at this point in the history
  • Loading branch information
bilalcaliskan committed Dec 6, 2021
2 parents 68fcae4 + 212a6bc commit d941c69
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 11 deletions.
14 changes: 9 additions & 5 deletions cmd/varnish-cache-invalidator/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,20 +11,17 @@ import (
"varnish-cache-invalidator/internal/web"

"github.com/dimiro1/banner"
"github.com/gorilla/mux"
"go.uber.org/zap"
)

var (
router *mux.Router
logger *zap.Logger
opts *options.VarnishCacheInvalidatorOptions
)

func init() {
logger = logging.GetLogger()
opts = options.GetVarnishCacheInvalidatorOptions()
router = mux.NewRouter()
bannerBytes, _ := ioutil.ReadFile("banner.txt")
banner.Init(os.Stdout, true, false, strings.NewReader(string(bannerBytes)))
}
Expand All @@ -49,6 +46,13 @@ func main() {
}
}

go metrics.RunMetricsServer(router)
web.RunWebServer(router)
go func() {
if err := metrics.RunMetricsServer(); err != nil {
logger.Fatal("fatal error occured while spinning metrics server", zap.Error(err))
}
}()

if err := web.RunWebServer(); err != nil {
logger.Fatal("fatal error occured while spinning web server", zap.Error(err))
}
}
3 changes: 1 addition & 2 deletions internal/logging/logging.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ var logger *zap.Logger
func init() {
cfgConsole := zapcore.EncoderConfig{
MessageKey: "message",
LevelKey: "severity",
LevelKey: "level",
EncodeLevel: zapcore.LowercaseLevelEncoder,
TimeKey: "time",
EncodeTime: zapcore.RFC3339TimeEncoder,
Expand All @@ -21,7 +21,6 @@ func init() {

core := zapcore.NewTee(zapcore.NewCore(zapcore.NewJSONEncoder(cfgConsole), zapcore.Lock(os.Stdout), zap.InfoLevel))
logger = zap.New(core)
logger.Info("An info level message")
}

// GetLogger returns the shared *zap.Logger
Expand Down
5 changes: 3 additions & 2 deletions internal/metrics/metrics.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,15 @@ func init() {
}

// RunMetricsServer provides an endpoint, exports prometheus metrics using prometheus client golang
func RunMetricsServer(router *mux.Router) {
func RunMetricsServer() error {
defer func() {
err := logger.Sync()
if err != nil {
panic(err)
}
}()

router := mux.NewRouter()
metricServer := &http.Server{
Handler: router,
Addr: fmt.Sprintf(":%d", opts.MetricsPort),
Expand All @@ -40,5 +41,5 @@ func RunMetricsServer(router *mux.Router) {

router.Handle("/metrics", promhttp.Handler())
logger.Info("starting metrics server", zap.Int("port", opts.MetricsPort))
panic(metricServer.ListenAndServe())
return metricServer.ListenAndServe()
}
5 changes: 3 additions & 2 deletions internal/web/web.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,18 +24,19 @@ func init() {
}

// RunWebServer runs the web server which multiplexes client requests
func RunWebServer(router *mux.Router) {
func RunWebServer() error {
defer func() {
err := logger.Sync()
if err != nil {
panic(err)
}
}()

router := mux.NewRouter()
webServer := initServer(router, fmt.Sprintf(":%d", opts.ServerPort),
time.Duration(int32(opts.WriteTimeoutSeconds))*time.Second,
time.Duration(int32(opts.ReadTimeoutSeconds))*time.Second, logger)

logger.Info("starting web server", zap.Int("port", opts.ServerPort))
panic(webServer.ListenAndServe())
return webServer.ListenAndServe()
}

0 comments on commit d941c69

Please sign in to comment.