mysql: refactor logs handling (#79148)

* mysql: refactor logs handling

* fixed unit test
This commit is contained in:
Gábor Farkas 2023-12-07 12:17:41 +01:00 committed by GitHub
parent 8ce4faf5ea
commit 9e71dc801d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 8 deletions

View File

@ -34,11 +34,10 @@ const (
dateTimeFormat2 = "2006-01-02T15:04:05Z"
)
var logger = log.New("tsdb.mysql")
type Service struct {
Cfg *setting.Cfg
im instancemgmt.InstanceManager
Cfg *setting.Cfg
im instancemgmt.InstanceManager
logger log.Logger
}
func characterEscape(s string, escapeChar string) string {
@ -46,12 +45,14 @@ func characterEscape(s string, escapeChar string) string {
}
func ProvideService(cfg *setting.Cfg, httpClientProvider httpclient.Provider) *Service {
logger := log.New("tsdb.mysql")
return &Service{
im: datasource.NewInstanceManager(newInstanceSettings(cfg)),
im: datasource.NewInstanceManager(newInstanceSettings(cfg, logger)),
logger: logger,
}
}
func newInstanceSettings(cfg *setting.Cfg) datasource.InstanceFactoryFunc {
func newInstanceSettings(cfg *setting.Cfg, logger log.Logger) datasource.InstanceFactoryFunc {
return func(ctx context.Context, settings backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) {
jsonData := sqleng.JsonData{
MaxOpenConns: cfg.SqlDatasourceMaxOpenConnsDefault,
@ -174,9 +175,9 @@ func (s *Service) CheckHealth(ctx context.Context, req *backend.CheckHealthReque
if err != nil {
var driverErr *mysql.MySQLError
if errors.As(err, &driverErr) {
return &backend.CheckHealthResult{Status: backend.HealthStatusError, Message: dsHandler.TransformQueryError(logger, driverErr).Error()}, nil
return &backend.CheckHealthResult{Status: backend.HealthStatusError, Message: dsHandler.TransformQueryError(s.logger, driverErr).Error()}, nil
}
return &backend.CheckHealthResult{Status: backend.HealthStatusError, Message: dsHandler.TransformQueryError(logger, err).Error()}, nil
return &backend.CheckHealthResult{Status: backend.HealthStatusError, Message: dsHandler.TransformQueryError(s.logger, err).Error()}, nil
}
return &backend.CheckHealthResult{Status: backend.HealthStatusOk, Message: "Database Connection OK"}, nil
}

View File

@ -13,6 +13,7 @@ import (
"github.com/grafana/grafana-plugin-sdk-go/data"
"github.com/stretchr/testify/require"
"github.com/grafana/grafana/pkg/infra/log"
"github.com/grafana/grafana/pkg/setting"
"github.com/grafana/grafana/pkg/tsdb/sqleng"
)
@ -73,6 +74,8 @@ func TestIntegrationMySQL(t *testing.T) {
rowTransformer := mysqlQueryResultTransformer{}
logger := log.New("mysql.test")
exe, err := sqleng.NewQueryDataHandler(setting.NewCfg(), config, &rowTransformer, newMysqlMacroEngine(logger, setting.NewCfg()), logger)
require.NoError(t, err)