mirror of
https://github.com/grafana/grafana.git
synced 2025-07-29 22:02:22 +08:00
backend plugins: improves logging
This commit is contained in:
@ -23,8 +23,7 @@ var (
|
||||
StaticRoutes []*PluginStaticRoute
|
||||
Apps map[string]*AppPlugin
|
||||
Plugins map[string]*PluginBase
|
||||
//BackendDatasources map[string]*BackendDatasource
|
||||
PluginTypes map[string]interface{}
|
||||
PluginTypes map[string]interface{}
|
||||
|
||||
GrafanaLatestVersion string
|
||||
GrafanaHasUpdate bool
|
||||
@ -43,7 +42,12 @@ type PluginManager struct {
|
||||
}
|
||||
|
||||
func NewPluginManager(ctx context.Context) (*PluginManager, error) {
|
||||
Init(ctx)
|
||||
err := initPlugins(ctx)
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &PluginManager{
|
||||
log: log.New("plugins"),
|
||||
}, nil
|
||||
@ -60,14 +64,14 @@ func (p *PluginManager) Run(ctx context.Context) error {
|
||||
return ctx.Err()
|
||||
}
|
||||
|
||||
func Init(ctx context.Context) error {
|
||||
func initPlugins(ctx context.Context) error {
|
||||
plog = log.New("plugins")
|
||||
|
||||
DataSources = make(map[string]*DataSourcePlugin)
|
||||
StaticRoutes = make([]*PluginStaticRoute, 0)
|
||||
Panels = make(map[string]*PanelPlugin)
|
||||
Apps = make(map[string]*AppPlugin)
|
||||
Plugins = make(map[string]*PluginBase)
|
||||
DataSources = map[string]*DataSourcePlugin{}
|
||||
StaticRoutes = []*PluginStaticRoute{}
|
||||
Panels = map[string]*PanelPlugin{}
|
||||
Apps = map[string]*AppPlugin{}
|
||||
Plugins = map[string]*PluginBase{}
|
||||
PluginTypes = map[string]interface{}{
|
||||
"panel": PanelPlugin{},
|
||||
"datasource": DataSourcePlugin{},
|
||||
@ -79,9 +83,8 @@ func Init(ctx context.Context) error {
|
||||
|
||||
// check if plugins dir exists
|
||||
if _, err := os.Stat(setting.PluginsPath); os.IsNotExist(err) {
|
||||
plog.Warn("Plugin dir does not exist", "dir", setting.PluginsPath)
|
||||
if err = os.MkdirAll(setting.PluginsPath, os.ModePerm); err != nil {
|
||||
plog.Warn("Failed to create plugin dir", "dir", setting.PluginsPath, "error", err)
|
||||
plog.Error("Failed to create plugin dir", "dir", setting.PluginsPath, "error", err)
|
||||
} else {
|
||||
plog.Info("Plugin dir created", "dir", setting.PluginsPath)
|
||||
scan(setting.PluginsPath)
|
||||
@ -96,13 +99,18 @@ func Init(ctx context.Context) error {
|
||||
for _, panel := range Panels {
|
||||
panel.initFrontendPlugin()
|
||||
}
|
||||
|
||||
for _, ds := range DataSources {
|
||||
if ds.Backend {
|
||||
ds.initBackendPlugin(ctx, plog)
|
||||
err := ds.initBackendPlugin(ctx, plog)
|
||||
if err != nil {
|
||||
plog.Error("Failed to init plugin.", "error", err, "plugin", ds.Id)
|
||||
}
|
||||
}
|
||||
|
||||
ds.initFrontendPlugin()
|
||||
}
|
||||
|
||||
for _, app := range Apps {
|
||||
app.initApp()
|
||||
}
|
||||
|
Reference in New Issue
Block a user