Log time/version to startup log (Fixes #391)

This commit is contained in:
Cody Soyland 2018-05-03 16:11:43 -05:00
parent b961378b2f
commit 85f90ac8fc
2 changed files with 29 additions and 0 deletions

View file

@ -547,6 +547,28 @@ func (h *Holder) loadNodeID() (string, error) {
return nodeID, nil
}
// Log startup time and version to $DATA_DIR/.startup.log
func (h *Holder) logStartup() error {
time, err := time.Now().MarshalText()
if err != nil {
return errors.Wrap(err, "creating timestamp")
}
logLine := fmt.Sprintf("%s\t%s\n", time, Version)
f, err := os.OpenFile(h.Path+"/.startup.log", os.O_APPEND|os.O_WRONLY|os.O_CREATE, 0600)
if err != nil {
return errors.Wrap(err, "opening startup log")
}
defer f.Close()
if _, err = f.WriteString(logLine); err != nil {
return errors.Wrap(err, "writing startup log")
}
return nil
}
// HolderSyncer is an active anti-entropy tool that compares the local holder
// with a remote holder based on block checksums and resolves differences.
type HolderSyncer struct {

View file

@ -17,6 +17,7 @@ package pilosa
import (
"context"
"fmt"
"log"
"net"
"net/http"
"os"
@ -268,6 +269,12 @@ func (s *Server) Open() error {
return errors.New("Must pass a listener option to NewServer")
}
// Log startup
err := s.Holder.logStartup()
if err != nil {
log.Println(errors.Wrap(err, "logging startup"))
}
// Get or create NodeID.
// Append the NodeID tag to stats.