aboutsummaryrefslogtreecommitdiff
path: root/modules/setting/setting.go
diff options
context:
space:
mode:
authorUnknwon <u@gogs.io>2017-02-09 23:53:57 -0500
committerUnknwon <u@gogs.io>2017-02-09 23:53:57 -0500
commitd9d329bec8984723dfad97d496278c4c9e35d5d5 (patch)
tree5498b2ddb400cf956e66053b77c1837ae676ccf8 /modules/setting/setting.go
parent76879e977b1cb563eff458d9efdd0f4ec3ca163a (diff)
modules/setting: add Slack logger
Conn and email loggers are removed for now unless people requested for them, then try to add back in gopkg.in/clog.v1
Diffstat (limited to 'modules/setting/setting.go')
-rw-r--r--modules/setting/setting.go35
1 files changed, 22 insertions, 13 deletions
diff --git a/modules/setting/setting.go b/modules/setting/setting.go
index d5cb0b7c..b5c6d9c9 100644
--- a/modules/setting/setting.go
+++ b/modules/setting/setting.go
@@ -626,9 +626,16 @@ func newLogService() {
// thus if user doesn't set console logger, we should remove it after other loggers are created.
hasConsole := false
- // Get and check log mode.
+ // Get and check log modes.
LogModes = strings.Split(Cfg.Section("log").Key("MODE").MustString("console"), ",")
LogConfigs = make([]interface{}, len(LogModes))
+ levelNames := map[string]log.LEVEL{
+ "trace": log.TRACE,
+ "info": log.INFO,
+ "warn": log.WARN,
+ "error": log.ERROR,
+ "fatal": log.FATAL,
+ }
for i, mode := range LogModes {
mode = strings.ToLower(strings.TrimSpace(mode))
sec, err := Cfg.GetSection("log." + mode)
@@ -637,30 +644,25 @@ func newLogService() {
}
validLevels := []string{"trace", "info", "warn", "error", "fatal"}
- levelName := Cfg.Section("log." + mode).Key("LEVEL").Validate(func(v string) string {
+ name := Cfg.Section("log." + mode).Key("LEVEL").Validate(func(v string) string {
v = strings.ToLower(v)
if com.IsSliceContainsStr(validLevels, v) {
return v
}
return "trace"
})
- level := map[string]log.LEVEL{
- "trace": log.TRACE,
- "info": log.INFO,
- "warn": log.WARN,
- "error": log.ERROR,
- "fatal": log.FATAL,
- }[levelName]
+ level := levelNames[name]
// Generate log configuration.
- switch mode {
- case "console":
+ switch log.MODE(mode) {
+ case log.CONSOLE:
hasConsole = true
LogConfigs[i] = log.ConsoleConfig{
Level: level,
BufferSize: Cfg.Section("log").Key("BUFFER_LEN").MustInt64(100),
}
- case "file":
+
+ case log.FILE:
logPath := path.Join(LogRootPath, "gogs.log")
if err = os.MkdirAll(path.Dir(logPath), os.ModePerm); err != nil {
log.Fatal(4, "Fail to create log directory '%s': %v", path.Dir(logPath), err)
@@ -678,10 +680,17 @@ func newLogService() {
MaxDays: sec.Key("MAX_DAYS").MustInt64(7),
},
}
+
+ case log.SLACK:
+ LogConfigs[i] = log.SlackConfig{
+ Level: level,
+ BufferSize: Cfg.Section("log").Key("BUFFER_LEN").MustInt64(100),
+ URL: sec.Key("URL").String(),
+ }
}
log.New(log.MODE(mode), LogConfigs[i])
- log.Trace("Log Mode: %s (%s)", strings.Title(mode), strings.Title(levelName))
+ log.Trace("Log Mode: %s (%s)", strings.Title(mode), strings.Title(name))
}
// Make sure everyone gets version info printed.