mirror of
				https://github.com/h44z/wg-portal.git
				synced 2025-11-03 23:56:18 +00:00 
			
		
		
		
	use logrus for gin's log output
This commit is contained in:
		@@ -1,19 +1,71 @@
 | 
			
		||||
package main
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"io/ioutil"
 | 
			
		||||
	"os"
 | 
			
		||||
 | 
			
		||||
	"github.com/h44z/wg-portal/internal/server"
 | 
			
		||||
	log "github.com/sirupsen/logrus"
 | 
			
		||||
	"github.com/sirupsen/logrus"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func main() {
 | 
			
		||||
	log.Infof("Starting WireGuard Portal Server...")
 | 
			
		||||
	_ = setupLogger(logrus.StandardLogger())
 | 
			
		||||
 | 
			
		||||
	logrus.Infof("Starting WireGuard Portal Server...")
 | 
			
		||||
 | 
			
		||||
	service := server.Server{}
 | 
			
		||||
	if err := service.Setup(); err != nil {
 | 
			
		||||
		log.Fatalf("Setup failed: %v", err)
 | 
			
		||||
		logrus.Fatalf("Setup failed: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	service.Run()
 | 
			
		||||
 | 
			
		||||
	log.Infof("Stopped WireGuard Portal Server...")
 | 
			
		||||
	logrus.Infof("Stopped WireGuard Portal Server...")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func setupLogger(logger *logrus.Logger) error {
 | 
			
		||||
	// Check environment variables for logrus settings
 | 
			
		||||
	level, ok := os.LookupEnv("LOG_LEVEL")
 | 
			
		||||
	if !ok {
 | 
			
		||||
		level = "debug" // Default logrus level
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	useJSON, ok := os.LookupEnv("LOG_JSON")
 | 
			
		||||
	if !ok {
 | 
			
		||||
		useJSON = "false" // Default use human readable logging
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	useColor, ok := os.LookupEnv("LOG_COLOR")
 | 
			
		||||
	if !ok {
 | 
			
		||||
		useColor = "true"
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	switch level {
 | 
			
		||||
	case "off":
 | 
			
		||||
		logger.SetOutput(ioutil.Discard)
 | 
			
		||||
	case "info":
 | 
			
		||||
		logger.SetLevel(logrus.InfoLevel)
 | 
			
		||||
	case "debug":
 | 
			
		||||
		logger.SetLevel(logrus.DebugLevel)
 | 
			
		||||
	case "trace":
 | 
			
		||||
		logger.SetLevel(logrus.TraceLevel)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var formatter logrus.Formatter
 | 
			
		||||
	if useJSON == "false" {
 | 
			
		||||
		f := new(logrus.TextFormatter)
 | 
			
		||||
		f.TimestampFormat = "2006-01-02 15:04:05"
 | 
			
		||||
		f.FullTimestamp = true
 | 
			
		||||
		if useColor == "true" {
 | 
			
		||||
			f.ForceColors = true
 | 
			
		||||
		}
 | 
			
		||||
		formatter = f
 | 
			
		||||
	} else {
 | 
			
		||||
		f := new(logrus.JSONFormatter)
 | 
			
		||||
		f.TimestampFormat = "2006-01-02 15:04:05"
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	logger.SetFormatter(formatter)
 | 
			
		||||
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user