func setupLogging(loggingLevel, logFile string) { level := log.DEBUG switch loggingLevel { case "fine": level = log.FINE case "debug": level = log.DEBUG case "info": level = log.INFO case "warn": level = log.WARNING case "error": level = log.ERROR default: log.Error("Unknown log level %s. Defaulting to DEBUG", loggingLevel) } log.Global = make(map[string]*log.Filter) facility, ok := GetSysLogFacility(logFile) if ok { flw, err := NewSysLogWriter(facility) if err != nil { fmt.Fprintf(os.Stderr, "NewSysLogWriter: %s\n", err.Error()) return } log.AddFilter("syslog", level, flw) } else if logFile == "stdout" { flw := log.NewConsoleLogWriter() log.AddFilter("stdout", level, flw) } else { logFileDir := filepath.Dir(logFile) os.MkdirAll(logFileDir, 0744) flw := log.NewFileLogWriter(logFile, false) if flw == nil { os.Exit(1) } log.AddFilter("file", level, flw) flw.SetFormat("[%D %T] [%L] (%S) %M") flw.SetRotate(true) flw.SetRotateSize(0) flw.SetRotateLines(0) flw.SetRotateDaily(true) } log.Info("Redirectoring logging to %s", logFile) }
func main() { pflag.Usage = func() { fmt.Printf(`usage: tuplespaced [flags] Run tuplespace server. Flags: `) pflag.PrintDefaults() } pflag.Parse() runtime.GOMAXPROCS(*ncpuFlag) log.AddFilter("stdout", logLevels[*logLevelFlag], log.NewConsoleLogWriter()) debug := logLevels[*logLevelFlag] <= log.DEBUG log.Info("Starting server on http://%s/tuplespace/", *bindFlag) ts := tuplespace.NewTupleSpace(store.NewMemoryStore()) srv := &http.Server{ Addr: *bindFlag, Handler: makeService(ts, debug), ReadTimeout: *readTimeoutFlag, WriteTimeout: *writeTimeoutFlag, } err := srv.ListenAndServe() if err != nil { fatalf("error: %s\n", err) } }
func configureLog(s *model.LogSettings) { l4g.Close() if s.EnableConsole { level := l4g.DEBUG if s.ConsoleLevel == "INFO" { level = l4g.INFO } else if s.ConsoleLevel == "WARN" { level = l4g.WARNING } else if s.ConsoleLevel == "ERROR" { level = l4g.ERROR } lw := l4g.NewConsoleLogWriter() lw.SetFormat("[%D %T] [%L] %M") l4g.AddFilter("stdout", level, lw) } if s.EnableFile { var fileFormat = s.FileFormat if fileFormat == "" { fileFormat = "[%D %T] [%L] %M" } level := l4g.DEBUG if s.FileLevel == "INFO" { level = l4g.INFO } else if s.FileLevel == "WARN" { level = l4g.WARNING } else if s.FileLevel == "ERROR" { level = l4g.ERROR } flw := l4g.NewFileLogWriter(GetLogFileLocation(s.FileLocation), false) flw.SetFormat(fileFormat) flw.SetRotate(true) flw.SetRotateLines(LOG_ROTATE_SIZE) l4g.AddFilter("file", level, flw) } }
func main() { log4go.AddFilter("stdout", log4go.FINE, log4go.NewConsoleLogWriter()) log4go.AddFilter("filelog", log4go.FINE, log4go.NewFileLogWriter("beginner.log", false)) route.Run() }
func init() { log.AddFilter("stdout", log.WARNING, log.NewConsoleLogWriter()) }