Пример #1
0
// If the logger is a file based logger, close and re-open the file.
// This allows for file rotation by 'mv'ing the file then signalling
// the process to trigger this function.
func (s *Server) ReOpenLogFile() {
	// Check to make sure this is a file logger.
	log.Lock()
	ll := log.logger
	log.Unlock()

	if ll == nil {
		Noticef("File log re-open ignored, no logger")
		return
	}
	if s.opts.LogFile == "" {
		Noticef("File log re-open ignored, not a file logger")
	} else {
		fileLog := logger.NewFileLogger(s.opts.LogFile,
			s.opts.Logtime, s.opts.Debug, s.opts.Trace, true)
		s.SetLogger(fileLog, s.opts.Debug, s.opts.Trace)
		Noticef("File log re-opened")
	}
}
Пример #2
0
func GetLogger(logfile, rsyslog string, syslog, debug, trace bool) (log server.Logger) {

	if logfile != "" {
		log = logger.NewFileLogger(logfile, true, debug, trace, true)
	} else if rsyslog != "" {
		log = logger.NewRemoteSysLogger(rsyslog, debug, trace)
	} else if syslog {
		log = logger.NewSysLogger(debug, trace)
	} else {
		colors := true
		// Check to see if stderr is being redirected and if so turn off color
		// Also turn off colors if we're running on Windows where os.Stderr.Stat() returns an invalid handle-error
		stat, err := os.Stderr.Stat()
		if err != nil || (stat.Mode()&os.ModeCharDevice) == 0 {
			colors = false
		}
		log = logger.NewStdLogger(true, debug, trace, colors, true)
	}
	return
}
Пример #3
0
func configureLogger(s *server.Server, opts *server.Options) {
	var log server.Logger

	if opts.LogFile != "" {
		log = logger.NewFileLogger(opts.LogFile, opts.Logtime, opts.Debug, opts.Trace, true)
	} else if opts.RemoteSyslog != "" {
		log = logger.NewRemoteSysLogger(opts.RemoteSyslog, opts.Debug, opts.Trace)
	} else if opts.Syslog {
		log = logger.NewSysLogger(opts.Debug, opts.Trace)
	} else {
		colors := true
		// Check to see if stderr is being redirected and if so turn off color
		// Also turn off colors if we're running on Windows where os.Stderr.Stat() returns an invalid handle-error
		stat, err := os.Stderr.Stat()
		if err != nil || (stat.Mode()&os.ModeCharDevice) == 0 {
			colors = false
		}
		log = logger.NewStdLogger(opts.Logtime, opts.Debug, opts.Trace, colors, true)
	}

	s.SetLogger(log, opts.Debug, opts.Trace)
}