GH21563: Add the request context and logger to all public methods in app/admin.go (#22898)
* migrate mlog * fix linter issue
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
24774f51da
Коммит
35d3e3e91e
@@ -295,7 +295,7 @@ func databaseRecycle(c *Context, w http.ResponseWriter, r *http.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
c.App.RecycleDatabaseConnection()
|
c.App.RecycleDatabaseConnection(c.AppContext)
|
||||||
|
|
||||||
auditRec.Success()
|
auditRec.Success()
|
||||||
ReturnStatusOK(w)
|
ReturnStatusOK(w)
|
||||||
@@ -348,7 +348,7 @@ func queryLogs(c *Context, w http.ResponseWriter, r *http.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
logs, logerr := c.App.QueryLogs(c.Params.Page, c.Params.LogsPerPage, logFilter)
|
logs, logerr := c.App.QueryLogs(c.AppContext, c.Params.Page, c.Params.LogsPerPage, logFilter)
|
||||||
if logerr != nil {
|
if logerr != nil {
|
||||||
c.Err = logerr
|
c.Err = logerr
|
||||||
return
|
return
|
||||||
@@ -387,7 +387,7 @@ func getLogs(c *Context, w http.ResponseWriter, r *http.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
lines, appErr := c.App.GetLogs(c.Params.Page, c.Params.LogsPerPage)
|
lines, appErr := c.App.GetLogs(c.AppContext, c.Params.Page, c.Params.LogsPerPage)
|
||||||
if appErr != nil {
|
if appErr != nil {
|
||||||
c.Err = appErr
|
c.Err = appErr
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -11,17 +11,17 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/mattermost/mattermost-server/v6/model"
|
"github.com/mattermost/mattermost-server/v6/model"
|
||||||
|
"github.com/mattermost/mattermost-server/v6/server/channels/app/request"
|
||||||
"github.com/mattermost/mattermost-server/v6/server/platform/services/cache"
|
"github.com/mattermost/mattermost-server/v6/server/platform/services/cache"
|
||||||
"github.com/mattermost/mattermost-server/v6/server/platform/shared/i18n"
|
"github.com/mattermost/mattermost-server/v6/server/platform/shared/i18n"
|
||||||
"github.com/mattermost/mattermost-server/v6/server/platform/shared/mail"
|
"github.com/mattermost/mattermost-server/v6/server/platform/shared/mail"
|
||||||
"github.com/mattermost/mattermost-server/v6/server/platform/shared/mlog"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var latestVersionCache = cache.NewLRU(cache.LRUOptions{
|
var latestVersionCache = cache.NewLRU(cache.LRUOptions{
|
||||||
Size: 1,
|
Size: 1,
|
||||||
})
|
})
|
||||||
|
|
||||||
func (s *Server) GetLogs(page, perPage int) ([]string, *model.AppError) {
|
func (s *Server) GetLogs(c request.CTX, page, perPage int) ([]string, *model.AppError) {
|
||||||
var lines []string
|
var lines []string
|
||||||
|
|
||||||
license := s.License()
|
license := s.License()
|
||||||
@@ -33,7 +33,7 @@ func (s *Server) GetLogs(page, perPage int) ([]string, *model.AppError) {
|
|||||||
lines = append(lines, "-----------------------------------------------------------------------------------------------------------")
|
lines = append(lines, "-----------------------------------------------------------------------------------------------------------")
|
||||||
lines = append(lines, "-----------------------------------------------------------------------------------------------------------")
|
lines = append(lines, "-----------------------------------------------------------------------------------------------------------")
|
||||||
} else {
|
} else {
|
||||||
mlog.Error("Could not get cluster info")
|
c.Logger().Error("Could not get cluster info")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -56,7 +56,7 @@ func (s *Server) GetLogs(page, perPage int) ([]string, *model.AppError) {
|
|||||||
return lines, nil
|
return lines, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Server) QueryLogs(page, perPage int, logFilter *model.LogFilter) (map[string][]string, *model.AppError) {
|
func (s *Server) QueryLogs(c request.CTX, page, perPage int, logFilter *model.LogFilter) (map[string][]string, *model.AppError) {
|
||||||
logData := make(map[string][]string)
|
logData := make(map[string][]string)
|
||||||
|
|
||||||
serverName := "default"
|
serverName := "default"
|
||||||
@@ -66,7 +66,7 @@ func (s *Server) QueryLogs(page, perPage int, logFilter *model.LogFilter) (map[s
|
|||||||
if info := s.platform.Cluster().GetMyClusterInfo(); info != nil {
|
if info := s.platform.Cluster().GetMyClusterInfo(); info != nil {
|
||||||
serverName = info.Hostname
|
serverName = info.Hostname
|
||||||
} else {
|
} else {
|
||||||
mlog.Error("Could not get cluster info")
|
c.Logger().Error("Could not get cluster info")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -111,12 +111,12 @@ func AddLocalLogs(logData map[string][]string, s *Server, page, perPage int, ser
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) QueryLogs(page, perPage int, logFilter *model.LogFilter) (map[string][]string, *model.AppError) {
|
func (a *App) QueryLogs(c request.CTX, page, perPage int, logFilter *model.LogFilter) (map[string][]string, *model.AppError) {
|
||||||
return a.Srv().QueryLogs(page, perPage, logFilter)
|
return a.Srv().QueryLogs(c, page, perPage, logFilter)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) GetLogs(page, perPage int) ([]string, *model.AppError) {
|
func (a *App) GetLogs(c request.CTX, page, perPage int) ([]string, *model.AppError) {
|
||||||
return a.Srv().GetLogs(page, perPage)
|
return a.Srv().GetLogs(c, page, perPage)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Server) GetLogsSkipSend(page, perPage int, logFilter *model.LogFilter) ([]string, *model.AppError) {
|
func (s *Server) GetLogsSkipSend(page, perPage int, logFilter *model.LogFilter) ([]string, *model.AppError) {
|
||||||
@@ -146,15 +146,15 @@ func (s *Server) InvalidateAllCachesSkipSend() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) RecycleDatabaseConnection() {
|
func (a *App) RecycleDatabaseConnection(c request.CTX) {
|
||||||
mlog.Info("Attempting to recycle database connections.")
|
c.Logger().Info("Attempting to recycle database connections.")
|
||||||
|
|
||||||
// This works by setting 10 seconds as the max conn lifetime for all DB connections.
|
// This works by setting 10 seconds as the max conn lifetime for all DB connections.
|
||||||
// This allows in gradually closing connections as they expire. In future, we can think
|
// This allows in gradually closing connections as they expire. In future, we can think
|
||||||
// of exposing this as a param from the REST api.
|
// of exposing this as a param from the REST api.
|
||||||
a.Srv().Store().RecycleDBConnections(10 * time.Second)
|
a.Srv().Store().RecycleDBConnections(10 * time.Second)
|
||||||
|
|
||||||
mlog.Info("Finished recycling database connections.")
|
c.Logger().Info("Finished recycling database connections.")
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) TestSiteURL(siteURL string) *model.AppError {
|
func (a *App) TestSiteURL(siteURL string) *model.AppError {
|
||||||
|
|||||||
@@ -682,7 +682,7 @@ type AppIface interface {
|
|||||||
GetJobsPage(page int, perPage int) ([]*model.Job, *model.AppError)
|
GetJobsPage(page int, perPage int) ([]*model.Job, *model.AppError)
|
||||||
GetLatestTermsOfService() (*model.TermsOfService, *model.AppError)
|
GetLatestTermsOfService() (*model.TermsOfService, *model.AppError)
|
||||||
GetLatestVersion(latestVersionUrl string) (*model.GithubReleaseInfo, *model.AppError)
|
GetLatestVersion(latestVersionUrl string) (*model.GithubReleaseInfo, *model.AppError)
|
||||||
GetLogs(page, perPage int) ([]string, *model.AppError)
|
GetLogs(c request.CTX, page, perPage int) ([]string, *model.AppError)
|
||||||
GetLogsSkipSend(page, perPage int, logFilter *model.LogFilter) ([]string, *model.AppError)
|
GetLogsSkipSend(page, perPage int, logFilter *model.LogFilter) ([]string, *model.AppError)
|
||||||
GetMemberCountsByGroup(ctx context.Context, channelID string, includeTimezones bool) ([]*model.ChannelMemberCountByGroup, *model.AppError)
|
GetMemberCountsByGroup(ctx context.Context, channelID string, includeTimezones bool) ([]*model.ChannelMemberCountByGroup, *model.AppError)
|
||||||
GetMessageForNotification(post *model.Post, translateFunc i18n.TranslateFunc) string
|
GetMessageForNotification(post *model.Post, translateFunc i18n.TranslateFunc) string
|
||||||
@@ -961,9 +961,9 @@ type AppIface interface {
|
|||||||
PublishUserTyping(userID, channelID, parentId string) *model.AppError
|
PublishUserTyping(userID, channelID, parentId string) *model.AppError
|
||||||
PurgeBleveIndexes() *model.AppError
|
PurgeBleveIndexes() *model.AppError
|
||||||
PurgeElasticsearchIndexes() *model.AppError
|
PurgeElasticsearchIndexes() *model.AppError
|
||||||
QueryLogs(page, perPage int, logFilter *model.LogFilter) (map[string][]string, *model.AppError)
|
QueryLogs(c request.CTX, page, perPage int, logFilter *model.LogFilter) (map[string][]string, *model.AppError)
|
||||||
ReadFile(path string) ([]byte, *model.AppError)
|
ReadFile(path string) ([]byte, *model.AppError)
|
||||||
RecycleDatabaseConnection()
|
RecycleDatabaseConnection(c request.CTX)
|
||||||
RegenCommandToken(cmd *model.Command) (*model.Command, *model.AppError)
|
RegenCommandToken(cmd *model.Command) (*model.Command, *model.AppError)
|
||||||
RegenOutgoingWebhookToken(hook *model.OutgoingWebhook) (*model.OutgoingWebhook, *model.AppError)
|
RegenOutgoingWebhookToken(hook *model.OutgoingWebhook) (*model.OutgoingWebhook, *model.AppError)
|
||||||
RegenerateOAuthAppSecret(app *model.OAuthApp) (*model.OAuthApp, *model.AppError)
|
RegenerateOAuthAppSecret(app *model.OAuthApp) (*model.OAuthApp, *model.AppError)
|
||||||
|
|||||||
@@ -7111,7 +7111,7 @@ func (a *OpenTracingAppLayer) GetLdapGroup(ldapGroupID string) (*model.Group, *m
|
|||||||
return resultVar0, resultVar1
|
return resultVar0, resultVar1
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *OpenTracingAppLayer) GetLogs(page int, perPage int) ([]string, *model.AppError) {
|
func (a *OpenTracingAppLayer) GetLogs(c request.CTX, page int, perPage int) ([]string, *model.AppError) {
|
||||||
origCtx := a.ctx
|
origCtx := a.ctx
|
||||||
span, newCtx := tracing.StartSpanWithParentByContext(a.ctx, "app.GetLogs")
|
span, newCtx := tracing.StartSpanWithParentByContext(a.ctx, "app.GetLogs")
|
||||||
|
|
||||||
@@ -7123,7 +7123,7 @@ func (a *OpenTracingAppLayer) GetLogs(page int, perPage int) ([]string, *model.A
|
|||||||
}()
|
}()
|
||||||
|
|
||||||
defer span.Finish()
|
defer span.Finish()
|
||||||
resultVar0, resultVar1 := a.app.GetLogs(page, perPage)
|
resultVar0, resultVar1 := a.app.GetLogs(c, page, perPage)
|
||||||
|
|
||||||
if resultVar1 != nil {
|
if resultVar1 != nil {
|
||||||
span.LogFields(spanlog.Error(resultVar1))
|
span.LogFields(spanlog.Error(resultVar1))
|
||||||
@@ -13624,7 +13624,7 @@ func (a *OpenTracingAppLayer) PurgeElasticsearchIndexes() *model.AppError {
|
|||||||
return resultVar0
|
return resultVar0
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *OpenTracingAppLayer) QueryLogs(page int, perPage int, logFilter *model.LogFilter) (map[string][]string, *model.AppError) {
|
func (a *OpenTracingAppLayer) QueryLogs(c request.CTX, page int, perPage int, logFilter *model.LogFilter) (map[string][]string, *model.AppError) {
|
||||||
origCtx := a.ctx
|
origCtx := a.ctx
|
||||||
span, newCtx := tracing.StartSpanWithParentByContext(a.ctx, "app.QueryLogs")
|
span, newCtx := tracing.StartSpanWithParentByContext(a.ctx, "app.QueryLogs")
|
||||||
|
|
||||||
@@ -13636,7 +13636,7 @@ func (a *OpenTracingAppLayer) QueryLogs(page int, perPage int, logFilter *model.
|
|||||||
}()
|
}()
|
||||||
|
|
||||||
defer span.Finish()
|
defer span.Finish()
|
||||||
resultVar0, resultVar1 := a.app.QueryLogs(page, perPage, logFilter)
|
resultVar0, resultVar1 := a.app.QueryLogs(c, page, perPage, logFilter)
|
||||||
|
|
||||||
if resultVar1 != nil {
|
if resultVar1 != nil {
|
||||||
span.LogFields(spanlog.Error(resultVar1))
|
span.LogFields(spanlog.Error(resultVar1))
|
||||||
@@ -13668,7 +13668,7 @@ func (a *OpenTracingAppLayer) ReadFile(path string) ([]byte, *model.AppError) {
|
|||||||
return resultVar0, resultVar1
|
return resultVar0, resultVar1
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *OpenTracingAppLayer) RecycleDatabaseConnection() {
|
func (a *OpenTracingAppLayer) RecycleDatabaseConnection(c request.CTX) {
|
||||||
origCtx := a.ctx
|
origCtx := a.ctx
|
||||||
span, newCtx := tracing.StartSpanWithParentByContext(a.ctx, "app.RecycleDatabaseConnection")
|
span, newCtx := tracing.StartSpanWithParentByContext(a.ctx, "app.RecycleDatabaseConnection")
|
||||||
|
|
||||||
@@ -13680,7 +13680,7 @@ func (a *OpenTracingAppLayer) RecycleDatabaseConnection() {
|
|||||||
}()
|
}()
|
||||||
|
|
||||||
defer span.Finish()
|
defer span.Finish()
|
||||||
a.app.RecycleDatabaseConnection()
|
a.app.RecycleDatabaseConnection(c)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *OpenTracingAppLayer) RegenCommandToken(cmd *model.Command) (*model.Command, *model.AppError) {
|
func (a *OpenTracingAppLayer) RegenCommandToken(cmd *model.Command) (*model.Command, *model.AppError) {
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user