mirror of
https://github.com/gravitational/teleport
synced 2024-10-21 01:34:01 +00:00
Whenever teleport was started with -d flag, output target was always overwritten to stderr. This commit makes sure that target supplied in the configuration is not overwritten even in case when -d flag is set.
This commit is contained in:
parent
f4635de5c2
commit
6bae91466f
|
@ -307,6 +307,9 @@ const (
|
||||||
|
|
||||||
// HumanDateFormatMilli is a human readable date formatting with milliseconds
|
// HumanDateFormatMilli is a human readable date formatting with milliseconds
|
||||||
HumanDateFormatMilli = "Jan _2 15:04:05.000 UTC"
|
HumanDateFormatMilli = "Jan _2 15:04:05.000 UTC"
|
||||||
|
|
||||||
|
// DebugLevel is a debug logging level name
|
||||||
|
DebugLevel = "debug"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Component generates "component:subcomponent1:subcomponent2" strings used
|
// Component generates "component:subcomponent1:subcomponent2" strings used
|
||||||
|
|
|
@ -204,7 +204,11 @@ func ApplyFileConfig(fc *FileConfig, cfg *service.Config) error {
|
||||||
case "stdout", "out", "1":
|
case "stdout", "out", "1":
|
||||||
log.SetOutput(os.Stdout)
|
log.SetOutput(os.Stdout)
|
||||||
case teleport.Syslog:
|
case teleport.Syslog:
|
||||||
utils.SwitchLoggingtoSyslog()
|
err := utils.SwitchLoggingtoSyslog()
|
||||||
|
if err != nil {
|
||||||
|
// this error will go to stderr
|
||||||
|
log.Errorf("Failed to switch logging to syslog: %v.", err)
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
// assume it's a file path:
|
// assume it's a file path:
|
||||||
logFile, err := os.Create(fc.Logger.Output)
|
logFile, err := os.Create(fc.Logger.Output)
|
||||||
|
@ -220,14 +224,13 @@ func ApplyFileConfig(fc *FileConfig, cfg *service.Config) error {
|
||||||
log.SetLevel(log.InfoLevel)
|
log.SetLevel(log.InfoLevel)
|
||||||
case "err", "error":
|
case "err", "error":
|
||||||
log.SetLevel(log.ErrorLevel)
|
log.SetLevel(log.ErrorLevel)
|
||||||
case "debug":
|
case teleport.DebugLevel:
|
||||||
log.SetLevel(log.DebugLevel)
|
log.SetLevel(log.DebugLevel)
|
||||||
case "warn", "warning":
|
case "warn", "warning":
|
||||||
log.SetLevel(log.WarnLevel)
|
log.SetLevel(log.WarnLevel)
|
||||||
default:
|
default:
|
||||||
return trace.BadParameter("unsupported logger severity: '%v'", fc.Logger.Severity)
|
return trace.BadParameter("unsupported logger severity: '%v'", fc.Logger.Severity)
|
||||||
}
|
}
|
||||||
|
|
||||||
// apply cache policy for node and proxy
|
// apply cache policy for node and proxy
|
||||||
cachePolicy, err := fc.CachePolicy.Parse()
|
cachePolicy, err := fc.CachePolicy.Parse()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -808,6 +811,12 @@ func Configure(clf *CommandLineFlags, cfg *service.Config) error {
|
||||||
return trace.Wrap(err)
|
return trace.Wrap(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// apply command line --debug flag to override logger severity
|
||||||
|
if clf.Debug {
|
||||||
|
fileConf.Logger.Severity = teleport.DebugLevel
|
||||||
|
}
|
||||||
|
|
||||||
if err = ApplyFileConfig(fileConf, cfg); err != nil {
|
if err = ApplyFileConfig(fileConf, cfg); err != nil {
|
||||||
return trace.Wrap(err)
|
return trace.Wrap(err)
|
||||||
}
|
}
|
||||||
|
@ -826,10 +835,9 @@ func Configure(clf *CommandLineFlags, cfg *service.Config) error {
|
||||||
cfg.Proxy.DisableTLS = clf.DisableTLS
|
cfg.Proxy.DisableTLS = clf.DisableTLS
|
||||||
}
|
}
|
||||||
|
|
||||||
// apply --debug flag:
|
// apply --debug flag to config:
|
||||||
if clf.Debug {
|
if clf.Debug {
|
||||||
cfg.Console = ioutil.Discard
|
cfg.Console = ioutil.Discard
|
||||||
utils.InitLogger(utils.LoggingForDaemon, log.DebugLevel)
|
|
||||||
cfg.Debug = clf.Debug
|
cfg.Debug = clf.Debug
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,21 +23,23 @@ import (
|
||||||
"log/syslog"
|
"log/syslog"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
|
"github.com/gravitational/trace"
|
||||||
log "github.com/sirupsen/logrus"
|
log "github.com/sirupsen/logrus"
|
||||||
logrusSyslog "github.com/sirupsen/logrus/hooks/syslog"
|
logrusSyslog "github.com/sirupsen/logrus/hooks/syslog"
|
||||||
)
|
)
|
||||||
|
|
||||||
// SwitchLoggingtoSyslog tells the logger to send the output to syslog. This
|
// SwitchLoggingtoSyslog tells the logger to send the output to syslog. This
|
||||||
// code is behind a build flag because Windows does not support syslog.
|
// code is behind a build flag because Windows does not support syslog.
|
||||||
func SwitchLoggingtoSyslog() {
|
func SwitchLoggingtoSyslog() error {
|
||||||
log.StandardLogger().SetHooks(make(log.LevelHooks))
|
log.StandardLogger().SetHooks(make(log.LevelHooks))
|
||||||
hook, err := logrusSyslog.NewSyslogHook("", "", syslog.LOG_WARNING, "")
|
hook, err := logrusSyslog.NewSyslogHook("", "", syslog.LOG_WARNING, "")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
// syslog not available
|
// syslog is not available
|
||||||
log.SetOutput(os.Stderr)
|
log.SetOutput(os.Stderr)
|
||||||
} else {
|
return trace.Wrap(err)
|
||||||
// ... and disable stderr:
|
|
||||||
log.AddHook(hook)
|
|
||||||
log.SetOutput(ioutil.Discard)
|
|
||||||
}
|
}
|
||||||
|
log.AddHook(hook)
|
||||||
|
// ... and disable stderr:
|
||||||
|
log.SetOutput(ioutil.Discard)
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue