Sfoglia il codice sorgente

cmd/syncthing: Print version information early (fixes #5891) (#5893)

Jakob Borg 6 anni fa
parent
commit
4e22a96602
2 ha cambiato i file con 9 aggiunte e 6 eliminazioni
  1. 8 0
      cmd/syncthing/main.go
  2. 1 6
      lib/syncthing/syncthing.go

+ 8 - 0
cmd/syncthing/main.go

@@ -548,6 +548,14 @@ func upgradeViaRest() error {
 }
 }
 
 
 func syncthingMain(runtimeOptions RuntimeOptions) {
 func syncthingMain(runtimeOptions RuntimeOptions) {
+	// Set a log prefix similar to the ID we will have later on, or early log
+	// lines look ugly.
+	l.SetPrefix("[start] ")
+
+	// Print our version information up front, so any crash that happens
+	// early etc. will have it available.
+	l.Infoln(build.LongVersion)
+
 	// Ensure that we have a certificate and key.
 	// Ensure that we have a certificate and key.
 	cert, err := syncthing.LoadOrGenerateCertificate(
 	cert, err := syncthing.LoadOrGenerateCertificate(
 		locations.Get(locations.CertFile),
 		locations.Get(locations.CertFile),

+ 1 - 6
lib/syncthing/syncthing.go

@@ -121,10 +121,6 @@ func (a *App) startup() error {
 	})
 	})
 	a.mainService.ServeBackground()
 	a.mainService.ServeBackground()
 
 
-	// Set a log prefix similar to the ID we will have later on, or early log
-	// lines look ugly.
-	l.SetPrefix("[start] ")
-
 	if a.opts.AuditWriter != nil {
 	if a.opts.AuditWriter != nil {
 		a.mainService.Add(newAuditService(a.opts.AuditWriter))
 		a.mainService.Add(newAuditService(a.opts.AuditWriter))
 	}
 	}
@@ -147,10 +143,9 @@ func (a *App) startup() error {
 	// report the error if there is one.
 	// report the error if there is one.
 	osutil.MaximizeOpenFileLimit()
 	osutil.MaximizeOpenFileLimit()
 
 
+	// Figure out our device ID, set it as the log prefix and log it.
 	a.myID = protocol.NewDeviceID(a.cert.Certificate[0])
 	a.myID = protocol.NewDeviceID(a.cert.Certificate[0])
 	l.SetPrefix(fmt.Sprintf("[%s] ", a.myID.String()[:5]))
 	l.SetPrefix(fmt.Sprintf("[%s] ", a.myID.String()[:5]))
-
-	l.Infoln(build.LongVersion)
 	l.Infoln("My ID:", a.myID)
 	l.Infoln("My ID:", a.myID)
 
 
 	// Select SHA256 implementation and report. Affected by the
 	// Select SHA256 implementation and report. Affected by the