func init() { log.DeleteFilter("stdout") rotateEnabled, discardWhenDiskFull := true, true filer := log.NewFileLogWriter("bench.log", rotateEnabled, discardWhenDiskFull, 0644) filer.SetFormat("[%d %T] [%L] (%S) %M") filer.SetRotateLines(0) filer.SetRotateDaily(true) log.AddFilter("file", log.INFO, filer) }
func (this *Start) setupLogging(logFile, logLevel, crashLogFile string) { level := log.DEBUG switch logLevel { case "info": level = log.INFO case "warn": level = log.WARNING case "error": level = log.ERROR case "debug": level = log.DEBUG case "trace": level = log.TRACE case "alarm": level = log.ALARM } for _, filter := range log.Global { filter.Level = level } log.LogBufferLength = 32 // default 32, chan cap if logFile == "stdout" { log.AddFilter("stdout", level, log.NewConsoleLogWriter()) } else { log.DeleteFilter("stdout") filer := log.NewFileLogWriter(logFile, true, true, 0) filer.SetFormat("[%d %T] [%L] (%S) %M") filer.SetRotateSize(0) filer.SetRotateLines(0) filer.SetRotateDaily(true) log.AddFilter("file", level, filer) } if crashLogFile != "" { f, err := os.OpenFile(crashLogFile, os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666) if err != nil { panic(err) } syscall.Dup2(int(f.Fd()), int(os.Stdout.Fd())) syscall.Dup2(int(f.Fd()), int(os.Stderr.Fd())) fmt.Fprintf(os.Stderr, "\n%s %s (build: %s)\n===================\n", time.Now().String(), gafka.Version, gafka.BuildId) } }
func (this *Ping) setupLog() { if this.logfile != "stdout" { log.DeleteFilter("stdout") filer := log.NewFileLogWriter(this.logfile, true, false, 0) filer.SetFormat("[%d %T] [%L] (%S) %M") filer.SetRotateSize(0) filer.SetRotateLines(0) filer.SetRotateDaily(true) log.AddFilter("file", log.DEBUG, filer) } }
func (this *Monitor) Init() { var logFile, zone string flag.StringVar(&logFile, "log", "stdout", "log filename") flag.StringVar(&zone, "z", "", "zone, required") flag.StringVar(&this.apiAddr, "http", ":10025", "api http server addr") flag.StringVar(&this.influxdbAddr, "influxAddr", "", "influxdb addr, required") flag.StringVar(&this.influxdbDbName, "db", "", "influxdb db name, required") flag.StringVar(&this.externalDir, "confd", "", "external script config dir") flag.Parse() if zone == "" || this.influxdbDbName == "" || this.influxdbAddr == "" { panic("zone or influxdb empty, run help ") } ctx.LoadFromHome() this.zkzone = zk.NewZkZone(zk.DefaultConfig(zone, ctx.ZoneZkAddrs(zone))) this.watchers = make([]Watcher, 0, 10) this.quit = make(chan struct{}) // export RESTful api this.setupRoutes() if logFile == "stdout" { log.AddFilter("stdout", log.TRACE, log.NewConsoleLogWriter()) } else { log.DeleteFilter("stdout") filer := log.NewFileLogWriter(logFile, true, false, 0644) filer.SetRotateDaily(true) filer.SetFormat("[%d %T] [%L] (%S) %M") log.AddFilter("file", log.TRACE, filer) } rc, err := influxdb.NewConfig(this.influxdbAddr, this.influxdbDbName, "", "", time.Minute) if err != nil { panic(err) } telemetry.Default = influxdb.New(metrics.DefaultRegistry, rc) }
func SetupLogging(logFile, level, crashLogFile string) { logLevel = toLogLevel(level) for _, filter := range log.Global { filter.Level = logLevel } log.LogBufferLength = 10 << 10 // default 32, chan cap if logFile != "stdout" { log.DeleteFilter("stdout") rotateEnabled, discardWhenDiskFull := true, false filer := log.NewFileLogWriter(logFile, rotateEnabled, discardWhenDiskFull, 0644) filer.SetFormat("[%d %T] [%L] (%S) %M") if Options.LogRotateSize > 0 { filer.SetRotateSize(Options.LogRotateSize) } filer.SetRotateKeepDuration(time.Hour * 24 * 30) filer.SetRotateLines(0) filer.SetRotateDaily(true) log.AddFilter("file", logLevel, filer) } if crashLogFile != "" { f, err := os.OpenFile(crashLogFile, os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666) if err != nil { panic(err) } syscall.Dup2(int(f.Fd()), int(os.Stdout.Fd())) syscall.Dup2(int(f.Fd()), int(os.Stderr.Fd())) fmt.Fprintf(os.Stderr, "\n%s %s (build: %s)\n===================\n", time.Now().String(), gafka.Version, gafka.BuildId) } }
func setupLogging(logFile, level, crashLogFile string) { logLevel := toLogLevel(level) for _, filter := range log.Global { filter.Level = logLevel } log.LogBufferLength = 32 // default 32, chan cap if logFile == "stdout" { log.AddFilter("stdout", logLevel, log.NewConsoleLogWriter()) } else { log.DeleteFilter("stdout") filer := log.NewFileLogWriter(logFile, true, false, 0) filer.SetFormat("[%d %T] [%L] (%S) %M") filer.SetRotateSize(0) filer.SetRotateLines(0) filer.SetRotateDaily(true) log.AddFilter("file", logLevel, filer) } if crashLogFile != "" { f, err := os.OpenFile(crashLogFile, os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666) if err != nil { panic(err) } syscall.Dup2(int(f.Fd()), int(os.Stdout.Fd())) syscall.Dup2(int(f.Fd()), int(os.Stderr.Fd())) fmt.Fprintf(os.Stderr, "\n%s %s (build: %s)\n===================\n", time.Now().String(), gafka.Version, gafka.BuildId) } }
func SetupLogging(logFile, logLevel, crashLogFile, alarmSockPath, alarmTag string) { level := log.DEBUG switch logLevel { case "info": level = log.INFO case "warn": level = log.WARNING case "error": level = log.ERROR case "debug": level = log.DEBUG case "trace": level = log.TRACE case "alarm": level = log.ALARM } for _, filter := range log.Global { filter.Level = level } // TODO log.LogBufferLength = 2 << 10 // default 32, chan cap if logFile == "stdout" { log.AddFilter("stdout", level, log.NewConsoleLogWriter()) } else { log.DeleteFilter("stdout") filer := log.NewFileLogWriter(logFile, false) filer.SetFormat("[%d %T] [%L] (%S) %M") filer.SetRotate(true) filer.SetRotateSize(0) filer.SetRotateLines(0) filer.SetRotateDaily(true) log.AddFilter("file", level, filer) if alarmTag != "" && alarmSockPath != "" { if alarmer, err := log.NewSyslogNgWriter(alarmSockPath, alarmTag); err != nil { log.Error("syslogng writer: %s", err.Error()) } else { log.AddFilter("alarm", log.ALARM, alarmer) } } } if crashLogFile != "" { f, err := os.OpenFile(crashLogFile, os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666) if err != nil { panic(err) } syscall.Dup2(int(f.Fd()), 2) fmt.Fprintf(os.Stderr, "\n%s %s (build: %s)\n===================\n", time.Now().String(), Version, BuildId) } }