diff --git a/handlers/auth.go b/handlers/auth.go index d5a6937..e2b3e4f 100644 --- a/handlers/auth.go +++ b/handlers/auth.go @@ -8,6 +8,7 @@ import ( "time" "github.com/maxibanki/golang-url-shortener/util" + "github.com/sirupsen/logrus" "github.com/spf13/viper" jwt "github.com/dgrijalva/jwt-go" @@ -86,7 +87,7 @@ func (h *Handler) authMiddleware(c *gin.Context) { c.AbortWithStatusJSON(http.StatusForbidden, gin.H{ "error": fmt.Sprintf("token is not valid: %v", authError), }) - h.log.Debugf("Authentication middleware failed: %v\n", authError) + logrus.Debugf("Authentication middleware failed: %v\n", authError) } else { c.AbortWithStatusJSON(http.StatusForbidden, gin.H{ "error": "authentication failed", diff --git a/handlers/auth_test.go b/handlers/auth_test.go index d56e764..958ee4c 100644 --- a/handlers/auth_test.go +++ b/handlers/auth_test.go @@ -14,7 +14,6 @@ import ( "github.com/maxibanki/golang-url-shortener/store" "github.com/maxibanki/golang-url-shortener/util" "github.com/pkg/errors" - "github.com/sirupsen/logrus" "github.com/spf13/viper" "golang.org/x/oauth2/google" ) @@ -47,11 +46,11 @@ func TestCreateBackend(t *testing.T) { if err := util.ReadInConfig(); err != nil { t.Fatalf("could not reload config file: %v", err) } - store, err := store.New(logrus.New()) + store, err := store.New() if err != nil { t.Fatalf("could not create store: %v", err) } - handler, err := New(*store, logrus.New(), true) + handler, err := New(*store, true) if err != nil { t.Fatalf("could not create handler: %v", err) } diff --git a/handlers/handlers.go b/handlers/handlers.go index 7243969..94fd6f4 100644 --- a/handlers/handlers.go +++ b/handlers/handlers.go @@ -7,6 +7,7 @@ import ( "time" "github.com/gin-gonic/contrib/ginrus" + "github.com/sirupsen/logrus" "github.com/spf13/viper" "github.com/gin-gonic/gin" @@ -14,7 +15,6 @@ import ( "github.com/maxibanki/golang-url-shortener/store" "github.com/maxibanki/golang-url-shortener/util" "github.com/pkg/errors" - "github.com/sirupsen/logrus" "golang.org/x/oauth2" ) @@ -24,17 +24,15 @@ type Handler struct { store store.Store engine *gin.Engine oAuthConf *oauth2.Config - log *logrus.Logger } // New initializes the http handlers -func New(store store.Store, log *logrus.Logger, testing bool) (*Handler, error) { +func New(store store.Store, testing bool) (*Handler, error) { if !viper.GetBool("General.EnableDebugMode") { gin.SetMode(gin.ReleaseMode) } h := &Handler{ store: store, - log: log, engine: gin.New(), } if err := h.setHandlers(); err != nil { @@ -66,7 +64,7 @@ func (h *Handler) setHandlers() error { if err := h.setTemplateFromFS("token.tmpl"); err != nil { return errors.Wrap(err, "could not set template from FS") } - h.engine.Use(ginrus.Ginrus(h.log, time.RFC3339, false)) + h.engine.Use(ginrus.Ginrus(logrus.StandardLogger(), time.RFC3339, false)) protected := h.engine.Group("/api/v1/protected") protected.Use(h.authMiddleware) protected.POST("/create", h.handleCreate) diff --git a/main.go b/main.go index e6a4248..a6b0869 100644 --- a/main.go +++ b/main.go @@ -1,6 +1,7 @@ package main import ( + "log" "os" "os/signal" @@ -17,32 +18,31 @@ import ( func main() { stop := make(chan os.Signal, 1) signal.Notify(stop, os.Interrupt) - log := logrus.New() - log.Formatter = &logrus.TextFormatter{ + logrus.SetFormatter(&logrus.TextFormatter{ ForceColors: true, - } - log.Out = ansicolor.NewAnsiColorWriter(os.Stdout) - close, err := initShortener(log) + }) + logrus.SetOutput(ansicolor.NewAnsiColorWriter(os.Stdout)) + close, err := initShortener() if err != nil { - log.Fatalf("could not init shortener: %v", err) + logrus.Fatalf("could not init shortener: %v", err) } <-stop - log.Println("Shutting down...") + logrus.Println("Shutting down...") close() } -func initShortener(log *logrus.Logger) (func(), error) { +func initShortener() (func(), error) { if err := util.ReadInConfig(); err != nil { return nil, errors.Wrap(err, "could not reload config file") } if viper.GetBool("General.EnableDebugMode") { - log.SetLevel(logrus.DebugLevel) + logrus.SetLevel(logrus.DebugLevel) } - store, err := store.New(log) + store, err := store.New() if err != nil { return nil, errors.Wrap(err, "could not create store") } - handler, err := handlers.New(*store, log, false) + handler, err := handlers.New(*store, false) if err != nil { return nil, errors.Wrap(err, "could not create handlers") } diff --git a/store/store.go b/store/store.go index 1ca23bd..e48f6c4 100644 --- a/store/store.go +++ b/store/store.go @@ -20,7 +20,6 @@ type Store struct { db *bolt.DB bucketName []byte idLength int - log *logrus.Logger } // Entry is the data set which is stored in the DB as JSON @@ -49,7 +48,7 @@ var ErrGeneratingIDFailed = errors.New("could not generate unique id, all ten tr var ErrIDIsEmpty = errors.New("the given ID is empty") // New initializes the store with the db -func New(log *logrus.Logger) (*Store, error) { +func New() (*Store, error) { db, err := bolt.Open(filepath.Join(util.GetDataDir(), "main.db"), 0644, &bolt.Options{Timeout: 1 * time.Second}) if err != nil { return nil, errors.Wrap(err, "could not open bolt DB database") @@ -66,7 +65,6 @@ func New(log *logrus.Logger) (*Store, error) { db: db, idLength: viper.GetInt("General.ShortedIDLength"), bucketName: bucketName, - log: log, }, nil } @@ -128,7 +126,7 @@ func (s *Store) CreateEntry(entry Entry, givenID string) (string, error) { if err != nil && givenID != "" { return "", err } else if err != nil { - s.log.Debugf("Could not create entry: %v", err) + logrus.Debugf("Could not create entry: %v", err) continue } return id, nil diff --git a/store/store_test.go b/store/store_test.go index c398b83..c0866fa 100644 --- a/store/store_test.go +++ b/store/store_test.go @@ -4,7 +4,6 @@ import ( "os" "testing" - "github.com/sirupsen/logrus" "github.com/spf13/viper" ) @@ -41,7 +40,7 @@ func TestGenerateRandomString(t *testing.T) { func TestNewStore(t *testing.T) { t.Run("create store with correct arguments", func(r *testing.T) { - store, err := New(logrus.New()) + store, err := New() if err != nil { t.Fatalf("unexpected error: %v", err) } @@ -50,7 +49,7 @@ func TestNewStore(t *testing.T) { } func TestCreateEntry(t *testing.T) { - store, err := New(logrus.New()) + store, err := New() if err != nil { t.Fatalf("unexpected error: %v", err) } @@ -72,7 +71,7 @@ func TestCreateEntry(t *testing.T) { } func TestGetEntryByID(t *testing.T) { - store, err := New(logrus.New()) + store, err := New() if err != nil { t.Fatalf("unexpected error: %v", err) } @@ -88,7 +87,7 @@ func TestGetEntryByID(t *testing.T) { } func TestIncreaseVisitCounter(t *testing.T) { - store, err := New(logrus.New()) + store, err := New() if err != nil { t.Fatalf("could not create store: %v", err) }