mirror of
https://github.com/sablierapp/sablier.git
synced 2025-12-21 13:23:03 +01:00
refactor(logging): use slog instead of logrus (#501)
Everything uses slog now and the logger is part of every struct
This commit is contained in:
@@ -2,6 +2,7 @@ package api
|
||||
|
||||
import (
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/neilotoole/slogt"
|
||||
"github.com/sablierapp/sablier/app/http/routes"
|
||||
"github.com/sablierapp/sablier/app/sessions/sessionstest"
|
||||
"github.com/sablierapp/sablier/app/theme"
|
||||
@@ -17,7 +18,7 @@ func NewApiTest(t *testing.T) (app *gin.Engine, router *gin.RouterGroup, strateg
|
||||
t.Helper()
|
||||
gin.SetMode(gin.TestMode)
|
||||
ctrl := gomock.NewController(t)
|
||||
th, err := theme.New()
|
||||
th, err := theme.New(slogt.New(t))
|
||||
assert.NilError(t, err)
|
||||
|
||||
app = gin.New()
|
||||
|
||||
@@ -11,7 +11,6 @@ import (
|
||||
"github.com/sablierapp/sablier/app/instance"
|
||||
"github.com/sablierapp/sablier/app/sessions"
|
||||
"github.com/sablierapp/sablier/app/theme"
|
||||
log "github.com/sirupsen/logrus"
|
||||
"sort"
|
||||
"strconv"
|
||||
"strings"
|
||||
@@ -44,9 +43,9 @@ func StartDynamic(router *gin.RouterGroup, s *routes.ServeStrategy) {
|
||||
var sessionState *sessions.SessionState
|
||||
var err error
|
||||
if len(request.Names) > 0 {
|
||||
sessionState, err = s.SessionsManager.RequestSession(request.Names, request.SessionDuration)
|
||||
sessionState, err = s.SessionsManager.RequestSession(c, request.Names, request.SessionDuration)
|
||||
} else {
|
||||
sessionState, err = s.SessionsManager.RequestSessionGroup(request.Group, request.SessionDuration)
|
||||
sessionState, err = s.SessionsManager.RequestSessionGroup(c, request.Group, request.SessionDuration)
|
||||
var groupNotFoundError sessions.ErrGroupNotFound
|
||||
if errors.As(err, &groupNotFoundError) {
|
||||
AbortWithProblemDetail(c, ProblemGroupNotFound(groupNotFoundError))
|
||||
@@ -93,7 +92,6 @@ func StartDynamic(router *gin.RouterGroup, s *routes.ServeStrategy) {
|
||||
|
||||
func sessionStateToRenderOptionsInstanceState(sessionState *sessions.SessionState) (instances []theme.Instance) {
|
||||
if sessionState == nil {
|
||||
log.Warnf("sessionStateToRenderOptionsInstanceState: sessionState is nil")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -108,7 +106,7 @@ func sessionStateToRenderOptionsInstanceState(sessionState *sessions.SessionStat
|
||||
return
|
||||
}
|
||||
|
||||
func instanceStateToRenderOptionsRequestState(instanceState *instance.State) theme.Instance {
|
||||
func instanceStateToRenderOptionsRequestState(instanceState instance.State) theme.Instance {
|
||||
|
||||
var err error
|
||||
if instanceState.Message == "" {
|
||||
|
||||
@@ -17,11 +17,11 @@ func session() *sessions.SessionState {
|
||||
return &sessions.SessionState{
|
||||
Instances: map[string]sessions.InstanceState{
|
||||
"test": {
|
||||
Instance: &state,
|
||||
Instance: state,
|
||||
Error: nil,
|
||||
},
|
||||
"test2": {
|
||||
Instance: &state2,
|
||||
Instance: state2,
|
||||
Error: nil,
|
||||
},
|
||||
},
|
||||
@@ -53,7 +53,7 @@ func TestStartDynamic(t *testing.T) {
|
||||
t.Run("StartDynamicThemeNotFound", func(t *testing.T) {
|
||||
app, router, strategy, m := NewApiTest(t)
|
||||
StartDynamic(router, strategy)
|
||||
m.EXPECT().RequestSessionGroup("test", gomock.Any()).Return(session(), nil)
|
||||
m.EXPECT().RequestSessionGroup(gomock.Any(), "test", gomock.Any()).Return(session(), nil)
|
||||
r := PerformRequest(app, "GET", "/api/strategies/dynamic?group=test&theme=invalid")
|
||||
assert.Equal(t, http.StatusNotFound, r.Code)
|
||||
assert.Equal(t, rfc7807.JSONMediaType, r.Header().Get("Content-Type"))
|
||||
@@ -61,7 +61,7 @@ func TestStartDynamic(t *testing.T) {
|
||||
t.Run("StartDynamicByNames", func(t *testing.T) {
|
||||
app, router, strategy, m := NewApiTest(t)
|
||||
StartDynamic(router, strategy)
|
||||
m.EXPECT().RequestSession([]string{"test"}, gomock.Any()).Return(session(), nil)
|
||||
m.EXPECT().RequestSession(gomock.Any(), []string{"test"}, gomock.Any()).Return(session(), nil)
|
||||
r := PerformRequest(app, "GET", "/api/strategies/dynamic?names=test")
|
||||
assert.Equal(t, http.StatusOK, r.Code)
|
||||
assert.Equal(t, SablierStatusReady, r.Header().Get(SablierStatusHeader))
|
||||
@@ -69,7 +69,7 @@ func TestStartDynamic(t *testing.T) {
|
||||
t.Run("StartDynamicByGroup", func(t *testing.T) {
|
||||
app, router, strategy, m := NewApiTest(t)
|
||||
StartDynamic(router, strategy)
|
||||
m.EXPECT().RequestSessionGroup("test", gomock.Any()).Return(session(), nil)
|
||||
m.EXPECT().RequestSessionGroup(gomock.Any(), "test", gomock.Any()).Return(session(), nil)
|
||||
r := PerformRequest(app, "GET", "/api/strategies/dynamic?group=test")
|
||||
assert.Equal(t, http.StatusOK, r.Code)
|
||||
assert.Equal(t, SablierStatusReady, r.Header().Get(SablierStatusHeader))
|
||||
@@ -77,7 +77,7 @@ func TestStartDynamic(t *testing.T) {
|
||||
t.Run("StartDynamicErrGroupNotFound", func(t *testing.T) {
|
||||
app, router, strategy, m := NewApiTest(t)
|
||||
StartDynamic(router, strategy)
|
||||
m.EXPECT().RequestSessionGroup("test", gomock.Any()).Return(nil, sessions.ErrGroupNotFound{
|
||||
m.EXPECT().RequestSessionGroup(gomock.Any(), "test", gomock.Any()).Return(nil, sessions.ErrGroupNotFound{
|
||||
Group: "test",
|
||||
AvailableGroups: []string{"test1", "test2"},
|
||||
})
|
||||
@@ -88,7 +88,7 @@ func TestStartDynamic(t *testing.T) {
|
||||
t.Run("StartDynamicError", func(t *testing.T) {
|
||||
app, router, strategy, m := NewApiTest(t)
|
||||
StartDynamic(router, strategy)
|
||||
m.EXPECT().RequestSessionGroup("test", gomock.Any()).Return(nil, errors.New("unknown error"))
|
||||
m.EXPECT().RequestSessionGroup(gomock.Any(), "test", gomock.Any()).Return(nil, errors.New("unknown error"))
|
||||
r := PerformRequest(app, "GET", "/api/strategies/dynamic?group=test")
|
||||
assert.Equal(t, http.StatusInternalServerError, r.Code)
|
||||
assert.Equal(t, rfc7807.JSONMediaType, r.Header().Get("Content-Type"))
|
||||
@@ -96,7 +96,7 @@ func TestStartDynamic(t *testing.T) {
|
||||
t.Run("StartDynamicSessionNil", func(t *testing.T) {
|
||||
app, router, strategy, m := NewApiTest(t)
|
||||
StartDynamic(router, strategy)
|
||||
m.EXPECT().RequestSessionGroup("test", gomock.Any()).Return(nil, nil)
|
||||
m.EXPECT().RequestSessionGroup(gomock.Any(), "test", gomock.Any()).Return(nil, nil)
|
||||
r := PerformRequest(app, "GET", "/api/strategies/dynamic?group=test")
|
||||
assert.Equal(t, http.StatusInternalServerError, r.Code)
|
||||
assert.Equal(t, rfc7807.JSONMediaType, r.Header().Get("Content-Type"))
|
||||
|
||||
@@ -42,7 +42,9 @@ func Start(ctx context.Context, logger *slog.Logger, serverConf config.Server, s
|
||||
|
||||
logger.Info("starting ",
|
||||
slog.String("listen", server.Addr),
|
||||
slog.Duration("startup", time.Since(start)))
|
||||
slog.Duration("startup", time.Since(start)),
|
||||
slog.String("mode", gin.Mode()),
|
||||
)
|
||||
|
||||
go StartHttp(server, logger)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user