Skip to content

Commit 9741af2

Browse files
committed
feat(logging): progress on new logging grafana#4590
1 parent 22778e6 commit 9741af2

File tree

9 files changed

+49
-69
lines changed

9 files changed

+49
-69
lines changed

pkg/api/dashboard.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ func isDashboardStarredByUser(c *middleware.Context, dashId int64) (bool, error)
3131
}
3232

3333
func GetDashboard(c *middleware.Context) {
34-
log.New("test", "asd").Error("muppets")
3534
slug := strings.ToLower(c.Params(":slug"))
3635

3736
query := m.GetDashboardQuery{Slug: slug, OrgId: c.OrgId}

pkg/cmd/grafana-server/main.go

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,6 @@ func main() {
5555
setting.BuildCommit = commit
5656
setting.BuildStamp = buildstampInt64
5757

58-
logger := log.New("main")
59-
logger.Info("Starting Grafana", "version", version, "commit", commit, "compiled", time.Unix(buildstampInt64, 0))
60-
6158
go listenToSystemSignels()
6259

6360
flag.Parse()
@@ -90,8 +87,8 @@ func initRuntime() {
9087
log.Fatal(3, err.Error())
9188
}
9289

93-
log.Info("Starting Grafana")
94-
log.Info("Version: %v, Commit: %v, Build date: %v", setting.BuildVersion, setting.BuildCommit, time.Unix(setting.BuildStamp, 0))
90+
logger := log.New("main")
91+
logger.Info("Starting Grafana", "version", version, "commit", commit, "compiled", time.Unix(setting.BuildStamp, 0))
9592

9693
setting.LogConfigurationInfo()
9794

pkg/login/settings.go

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package login
22

33
import (
44
"fmt"
5+
"os"
56

67
"github.com/BurntSushi/toml"
78
"github.com/grafana/grafana/pkg/log"
@@ -49,21 +50,24 @@ type LdapGroupToOrgRole struct {
4950
}
5051

5152
var ldapCfg LdapConfig
53+
var ldapLogger log.Logger = log.New("ldap")
5254

5355
func loadLdapConfig() {
5456
if !setting.LdapEnabled {
5557
return
5658
}
5759

58-
log.Info("Login: Ldap enabled, reading config file: %s", setting.LdapConfigFile)
60+
ldapLogger.Info("Ldap enabled, reading config file", "file", setting.LdapConfigFile)
5961

6062
_, err := toml.DecodeFile(setting.LdapConfigFile, &ldapCfg)
6163
if err != nil {
62-
log.Fatal(3, "Failed to load ldap config file: %s", err)
64+
ldapLogger.Crit("Failed to load ldap config file", "error", err)
65+
os.Exit(1)
6366
}
6467

6568
if len(ldapCfg.Servers) == 0 {
66-
log.Fatal(3, "ldap enabled but no ldap servers defined in config file: %s", setting.LdapConfigFile)
69+
ldapLogger.Crit("ldap enabled but no ldap servers defined in config file")
70+
os.Exit(1)
6771
}
6872

6973
// set default org id
@@ -83,11 +87,13 @@ func assertNotEmptyCfg(val interface{}, propName string) {
8387
switch v := val.(type) {
8488
case string:
8589
if v == "" {
86-
log.Fatal(3, "LDAP config file is missing option: %s", propName)
90+
ldapLogger.Crit("LDAP config file is missing option", "option", propName)
91+
os.Exit(1)
8792
}
8893
case []string:
8994
if len(v) == 0 {
90-
log.Fatal(3, "LDAP config file is missing option: %s", propName)
95+
ldapLogger.Crit("LDAP config file is missing option", "option", propName)
96+
os.Exit(1)
9197
}
9298
default:
9399
fmt.Println("unknown")

pkg/metrics/publish.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ import (
1414
"github.com/grafana/grafana/pkg/setting"
1515
)
1616

17+
var metricsLogger log.Logger = log.New("metrics")
18+
1719
func Init() {
1820
settings := readSettings()
1921
initMetricVars(settings)
@@ -54,7 +56,7 @@ func sendUsageStats() {
5456
return
5557
}
5658

57-
log.Trace("Sending anonymous usage stats to stats.grafana.org")
59+
metricsLogger.Debug("Sending anonymous usage stats to stats.grafana.org")
5860

5961
version := strings.Replace(setting.BuildVersion, ".", "_", -1)
6062

@@ -66,7 +68,7 @@ func sendUsageStats() {
6668

6769
statsQuery := m.GetSystemStatsQuery{}
6870
if err := bus.Dispatch(&statsQuery); err != nil {
69-
log.Error(3, "Failed to get system stats", err)
71+
metricsLogger.Error("Failed to get system stats", "error", err)
7072
return
7173
}
7274

@@ -80,7 +82,7 @@ func sendUsageStats() {
8082

8183
dsStats := m.GetDataSourceStatsQuery{}
8284
if err := bus.Dispatch(&dsStats); err != nil {
83-
log.Error(3, "Failed to get datasource stats", err)
85+
metricsLogger.Error("Failed to get datasource stats", "error", err)
8486
return
8587
}
8688

pkg/metrics/settings.go

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
package metrics
22

3-
import (
4-
"github.com/grafana/grafana/pkg/log"
5-
"github.com/grafana/grafana/pkg/setting"
6-
)
3+
import "github.com/grafana/grafana/pkg/setting"
74

85
type MetricPublisher interface {
96
Publish(metrics []Metric)
@@ -24,7 +21,7 @@ func readSettings() *MetricSettings {
2421

2522
var section, err = setting.Cfg.GetSection("metrics")
2623
if err != nil {
27-
log.Fatal(3, "Unable to find metrics config section")
24+
metricsLogger.Crit("Unable to find metrics config section", "error", err)
2825
return nil
2926
}
3027

@@ -36,9 +33,9 @@ func readSettings() *MetricSettings {
3633
}
3734

3835
if graphitePublisher, err := CreateGraphitePublisher(); err != nil {
39-
log.Error(3, "Metrics: Failed to init Graphite metric publisher", err)
36+
metricsLogger.Error("Failed to init Graphite metric publisher", "error", err)
4037
} else if graphitePublisher != nil {
41-
log.Info("Metrics: Graphite publisher initialized")
38+
metricsLogger.Info("Metrics publisher initialized", "type", "graphite")
4239
settings.Publishers = append(settings.Publishers, graphitePublisher)
4340
}
4441

pkg/middleware/logger.go

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import (
2020
"time"
2121

2222
"github.com/grafana/grafana/pkg/metrics"
23-
"github.com/grafana/grafana/pkg/setting"
2423
"gopkg.in/macaron.v1"
2524
)
2625

@@ -29,11 +28,6 @@ func Logger() macaron.Handler {
2928
start := time.Now()
3029
c.Data["perfmon.start"] = start
3130

32-
uname := c.GetCookie(setting.CookieUserName)
33-
if len(uname) == 0 {
34-
uname = "-"
35-
}
36-
3731
rw := res.(macaron.ResponseWriter)
3832
c.Next()
3933

@@ -46,13 +40,14 @@ func Logger() macaron.Handler {
4640

4741
status := rw.Status()
4842
if status == 200 || status == 304 {
49-
if !setting.RouterLogging {
50-
return
51-
}
43+
// if !setting.RouterLogging {
44+
// return
45+
// }
5246
}
5347

5448
if ctx, ok := c.Data["ctx"]; ok {
55-
ctx.(*Context).Logger.Info("Request Completed", "method", req.Method, "path", req.URL.Path, "status", status, "remote_addr", c.RemoteAddr(), "uname", uname, "time_ms", timeTakenMs, "size", rw.Size())
49+
ctxTyped := ctx.(*Context)
50+
ctxTyped.Logger.Info("Request Completed", "method", req.Method, "path", req.URL.Path, "status", status, "remote_addr", c.RemoteAddr(), "uname", ctxTyped.Login, "time_ns", timeTakenMs, "size", rw.Size())
5651
}
5752
}
5853
}

pkg/middleware/middleware.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package middleware
22

33
import (
4-
"fmt"
54
"strconv"
65
"strings"
76

@@ -52,9 +51,7 @@ func GetContextHandler() macaron.Handler {
5251
}
5352

5453
ctx.Logger = log.New("context", "user", ctx.UserId, "orgId", ctx.OrgId)
55-
// set ctx in data array on the original context
56-
c.Data["ctx"] = ctx
57-
fmt.Printf("c: %v\n", c)
54+
ctx.Data["ctx"] = ctx
5855

5956
c.Map(ctx)
6057
}

pkg/services/sqlstore/sqlstore.go

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ var (
4040
}
4141

4242
mysqlConfig MySQLConfig
43-
44-
UseSQLite3 bool
43+
UseSQLite3 bool
44+
sqlog log.Logger = log.New("sqlstore")
4545
)
4646

4747
func EnsureAdminUser() {
@@ -74,13 +74,15 @@ func NewEngine() {
7474
x, err := getEngine()
7575

7676
if err != nil {
77-
log.Fatal(3, "Sqlstore: Fail to connect to database: %v", err)
77+
sqlog.Crit("Fail to connect to database", "error", err)
78+
os.Exit(1)
7879
}
7980

8081
err = SetEngine(x, setting.Env == setting.DEV)
8182

8283
if err != nil {
83-
log.Fatal(3, "fail to initialize orm engine: %v", err)
84+
sqlog.Error("Fail to initialize orm engine: %v", err)
85+
os.Exit(1)
8486
}
8587
}
8688

@@ -95,17 +97,6 @@ func SetEngine(engine *xorm.Engine, enableLog bool) (err error) {
9597
return fmt.Errorf("Sqlstore::Migration failed err: %v\n", err)
9698
}
9799

98-
if enableLog {
99-
logPath := path.Join(setting.LogsPath, "xorm.log")
100-
os.MkdirAll(path.Dir(logPath), os.ModePerm)
101-
102-
f, err := os.Create(logPath)
103-
if err != nil {
104-
return fmt.Errorf("sqlstore.init(fail to create xorm.log): %v", err)
105-
}
106-
x.Logger = xorm.NewSimpleLogger(f)
107-
}
108-
109100
return nil
110101
}
111102

@@ -157,8 +148,7 @@ func getEngine() (*xorm.Engine, error) {
157148
return nil, fmt.Errorf("Unknown database type: %s", DbCfg.Type)
158149
}
159150

160-
log.Info("Database: %v", DbCfg.Type)
161-
151+
sqlog.Info("Initializing DB", "dbtype", DbCfg.Type)
162152
return xorm.NewEngine(DbCfg.Type, cnnstr)
163153
}
164154

pkg/setting/setting.go

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,9 @@ var (
138138

139139
// QUOTA
140140
Quota QuotaSettings
141+
142+
// logger
143+
logger log.Logger
141144
)
142145

143146
type CommandLineArgs struct {
@@ -148,6 +151,7 @@ type CommandLineArgs struct {
148151

149152
func init() {
150153
IsWindows = runtime.GOOS == "windows"
154+
logger = log.New("settings")
151155
}
152156

153157
func parseAppUrlAndSubUrl(section *ini.Section) (string, string) {
@@ -544,38 +548,31 @@ func readSessionConfig() {
544548
func initLogging() {
545549
LogModes = strings.Split(Cfg.Section("log").Key("mode").MustString("console"), ",")
546550
LogsPath = makeAbsolute(Cfg.Section("paths").Key("logs").String(), HomePath)
547-
548551
log.ReadLoggingConfig(LogModes, LogsPath, Cfg)
549552
}
550553

551554
func LogConfigurationInfo() {
552555
var text bytes.Buffer
553-
text.WriteString("Configuration Info\n")
554556

555-
text.WriteString("Config files:\n")
556-
for i, file := range configFiles {
557-
text.WriteString(fmt.Sprintf(" [%d]: %s\n", i, file))
557+
for _, file := range configFiles {
558+
logger.Info("Config loaded from", "file", file)
558559
}
559560

560561
if len(appliedCommandLineProperties) > 0 {
561-
text.WriteString("Command lines overrides:\n")
562-
for i, prop := range appliedCommandLineProperties {
563-
text.WriteString(fmt.Sprintf(" [%d]: %s\n", i, prop))
562+
for _, prop := range appliedCommandLineProperties {
563+
logger.Info("Config overriden from command line", "arg", prop)
564564
}
565565
}
566566

567567
if len(appliedEnvOverrides) > 0 {
568568
text.WriteString("\tEnvironment variables used:\n")
569-
for i, prop := range appliedEnvOverrides {
570-
text.WriteString(fmt.Sprintf(" [%d]: %s\n", i, prop))
569+
for _, prop := range appliedEnvOverrides {
570+
logger.Info("Config overriden from Environment variable", "var", prop)
571571
}
572572
}
573573

574-
text.WriteString("Paths:\n")
575-
text.WriteString(fmt.Sprintf(" home: %s\n", HomePath))
576-
text.WriteString(fmt.Sprintf(" data: %s\n", DataPath))
577-
text.WriteString(fmt.Sprintf(" logs: %s\n", LogsPath))
578-
text.WriteString(fmt.Sprintf(" plugins: %s\n", PluginsPath))
579-
580-
log.Info(text.String())
574+
logger.Info("Path Home", "path", HomePath)
575+
logger.Info("Path Data", "path", DataPath)
576+
logger.Info("Path Logs", "path", LogsPath)
577+
logger.Info("Path Plugins", "path", PluginsPath)
581578
}

0 commit comments

Comments
 (0)