func InitializeLogger(developerModeFlag bool) { logger = log.New() if developerModeFlag { customFormatter := new(log.TextFormatter) customFormatter.FullTimestamp = true customFormatter.TimestampFormat = "2006-01-02 15:04:05" log.SetFormatter(customFormatter) log.SetLevel(log.DebugLevel) logger.Level = log.DebugLevel logger.Formatter = customFormatter } else { customFormatter := new(log.JSONFormatter) customFormatter.TimestampFormat = "2006-01-02 15:04:05" log.SetFormatter(customFormatter) customFormatter.DisableTimestamp = false log.SetLevel(log.InfoLevel) logger.Level = log.InfoLevel logger.Formatter = customFormatter } logger.Out = os.Stdout }
func NewCustomizedLogger(level string, developerModeFlag bool) (*log.Logger, error) { logger := log.New() lv, err := log.ParseLevel(level) if err != nil { return nil, err } logger.Level = lv if developerModeFlag { customFormatter := new(log.TextFormatter) customFormatter.FullTimestamp = true customFormatter.TimestampFormat = "2006-01-02 15:04:05" log.SetFormatter(customFormatter) log.SetLevel(log.DebugLevel) logger.Level = lv logger.Formatter = customFormatter } else { customFormatter := new(log.JSONFormatter) customFormatter.TimestampFormat = "2006-01-02 15:04:05" log.SetFormatter(customFormatter) customFormatter.DisableTimestamp = false log.SetLevel(log.InfoLevel) logger.Level = lv logger.Formatter = customFormatter } logger.Out = os.Stdout return logger, nil }
// LogInit is a utility function to initialize logging func LogInit(filename string) { f, err := os.OpenFile(filename, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666) if err != nil { log.Fatal("Unable to open Log file ", err) } Logger.Out = f customFormatter := new(logrus.TextFormatter) customFormatter.TimestampFormat = "2016-03-28 15:04:05" Logger.Formatter = customFormatter customFormatter.FullTimestamp = true customFormatter.DisableColors = true }
// Build an adequate instance of the structured logger for this // application instance. The journal builder may draw data from the // app instance to configure the journal correctly. This method only // instantiates a very basic journal; anything more complicated than // that should be implementing using a boot.Provider to do it. func (app *App) makeJournal(level logrus.Level) *logrus.Logger { const m = "begin writing application journal" var journal *logrus.Logger = &logrus.Logger{} formatter := new(logrus.TextFormatter) // std journal.Level = level // use requested level journal.Out = os.Stdout // all goes to stdout journal.Hooks = make(logrus.LevelHooks) // empty journal.Formatter = formatter // set formatter formatter.ForceColors = false // act smart formatter.DisableColors = false // make pretty formatter.DisableTimestamp = false // is useful formatter.FullTimestamp = false // numbers formatter.TimestampFormat = time.StampMilli formatter.DisableSorting = false // order! moment := time.Now().Format(app.TimeLayout) journal.WithField("time", moment).Info(m) return journal // is ready to use }
func init() { configError = config.LoadConfig() // Logger formatter := new(logrus.TextFormatter) formatter.TimestampFormat = time.RFC3339 formatter.FullTimestamp = true logrus.SetFormatter(formatter) logrus.SetOutput(os.Stdout) // Uid & Gid currentUser, err := user.Current() if err != nil { gid = 0 uid = 0 } else { // Non-parsable uid & gid should never be seen gid, _ = strconv.ParseUint(currentUser.Gid, 10, 64) uid, _ = strconv.ParseUint(currentUser.Uid, 10, 64) } setFlags() RootCmd.AddCommand(mountCmd) }