Browse Source

Updated shutdown sequence log

Toby Chui 3 years ago
parent
commit
32bf29e0ab
10 changed files with 42 additions and 46 deletions
  1. 1 2
      cluster.go
  2. 1 2
      disk.go
  3. 12 13
      hardware.power.go
  4. 5 5
      main.go
  5. 2 3
      mediaServer.go
  6. 3 1
      mod/info/logger/logger.go
  7. 1 1
      module.go
  8. 1 2
      network.forward.go
  9. 7 7
      network.ftp.go
  10. 9 10
      network.go

+ 1 - 2
cluster.go

@@ -1,7 +1,6 @@
 package main
 
 import (
-	"log"
 	"net/http"
 
 	"imuslab.com/arozos/mod/network/neighbour"
@@ -63,7 +62,7 @@ func ClusterInit() {
 		*/
 		//WIP
 	} else {
-		log.Println("MDNS not enabled or startup failed. Skipping Cluster Scanner initiation.")
+		systemWideLogger.PrintAndLog("Cluster", "MDNS not enabled or startup failed. Skipping Cluster Scanner initiation.", nil)
 	}
 
 }

+ 1 - 2
disk.go

@@ -7,7 +7,6 @@ package main
 */
 
 import (
-	"log"
 	"net/http"
 
 	"imuslab.com/arozos/mod/common"
@@ -86,7 +85,7 @@ func DiskServiceInit() {
 			smartListener, err := smart.NewSmartListener()
 			if err != nil {
 				//Listener creation failed
-				log.Println("Failed to create SMART listener: " + err.Error())
+				systemWideLogger.PrintAndLog("Disk", "Failed to create SMART listener: "+err.Error(), err)
 			} else {
 				//Listener created. Register endpoints
 

+ 12 - 13
hardware.power.go

@@ -1,7 +1,6 @@
 package main
 
 import (
-	"log"
 	"net/http"
 
 	"os/exec"
@@ -74,10 +73,10 @@ func hardware_power_poweroff(w http.ResponseWriter, r *http.Request) {
 		cmd := exec.Command("shutdown", "-s", "-t", "20")
 		out, err := cmd.CombinedOutput()
 		if err != nil {
-			log.Println(string(out))
+			systemWideLogger.PrintAndLog("Power", string(out), err)
 			common.SendErrorResponse(w, string(out))
 		}
-		log.Println(string(out))
+		systemWideLogger.PrintAndLog("Power", string(out), nil)
 	}
 
 	if runtime.GOOS == "linux" {
@@ -85,10 +84,10 @@ func hardware_power_poweroff(w http.ResponseWriter, r *http.Request) {
 		cmd := exec.Command("/sbin/shutdown")
 		out, err := cmd.CombinedOutput()
 		if err != nil {
-			log.Println(string(out))
+			systemWideLogger.PrintAndLog("Power", string(out), err)
 			common.SendErrorResponse(w, string(out))
 		}
-		log.Println(string(out))
+		systemWideLogger.PrintAndLog("Power", string(out), nil)
 	}
 
 	if runtime.GOOS == "darwin" {
@@ -96,10 +95,10 @@ func hardware_power_poweroff(w http.ResponseWriter, r *http.Request) {
 		cmd := exec.Command("sudo", "shutdown", "-h", "+1")
 		out, err := cmd.CombinedOutput()
 		if err != nil {
-			log.Println(string(out))
+			systemWideLogger.PrintAndLog("Power", string(out), err)
 			common.SendErrorResponse(w, string(out))
 		}
-		log.Println(string(out))
+		systemWideLogger.PrintAndLog("Power", string(out), nil)
 	}
 
 	common.SendOK(w)
@@ -141,10 +140,10 @@ func hardware_power_restart(w http.ResponseWriter, r *http.Request) {
 		cmd := exec.Command("shutdown", "-r", "-t", "20")
 		out, err := cmd.CombinedOutput()
 		if err != nil {
-			log.Println(string(out))
+			systemWideLogger.PrintAndLog("Power", string(out), err)
 			common.SendErrorResponse(w, string(out))
 		}
-		log.Println(string(out))
+		systemWideLogger.PrintAndLog("Power", string(out), nil)
 	}
 
 	if runtime.GOOS == "linux" {
@@ -152,10 +151,10 @@ func hardware_power_restart(w http.ResponseWriter, r *http.Request) {
 		cmd := exec.Command("systemctl", "reboot")
 		out, err := cmd.CombinedOutput()
 		if err != nil {
-			log.Println(string(out))
+			systemWideLogger.PrintAndLog("Power", string(out), err)
 			common.SendErrorResponse(w, string(out))
 		}
-		log.Println(string(out))
+		systemWideLogger.PrintAndLog("Power", string(out), nil)
 	}
 
 	if runtime.GOOS == "darwin" {
@@ -163,10 +162,10 @@ func hardware_power_restart(w http.ResponseWriter, r *http.Request) {
 		cmd := exec.Command("shutdown", "-r", "+1")
 		out, err := cmd.CombinedOutput()
 		if err != nil {
-			log.Println(string(out))
+			systemWideLogger.PrintAndLog("Power", string(out), err)
 			common.SendErrorResponse(w, string(out))
 		}
-		log.Println(string(out))
+		systemWideLogger.PrintAndLog("Power", string(out), nil)
 	}
 	common.SendOK(w)
 }

+ 5 - 5
main.go

@@ -39,18 +39,18 @@ func SetupCloseHandler() {
 
 func executeShutdownSequence() {
 	//Shutdown authAgent
-	log.Println("\r- Shutting down auth gateway")
+	systemWideLogger.PrintAndLog("System", "<!> Shutting down auth gateway", nil)
 	authAgent.Close()
 
 	//Shutdown all storage pools
-	log.Println("\r- Shutting down storage pools")
+	systemWideLogger.PrintAndLog("System", "<!> Shutting down storage pools", nil)
 	closeAllStoragePools()
 
 	//Shutdown Logger
 	systemWideLogger.Close()
 
 	//Shutdown database
-	log.Println("\r- Shutting down database")
+	systemWideLogger.PrintAndLog("System", "<!> Shutting down database", nil)
 	sysdb.Close()
 
 	//Shutdown network services
@@ -58,12 +58,12 @@ func executeShutdownSequence() {
 
 	//Shutdown FTP Server
 	if ftpServer != nil {
-		log.Println("\r- Shutting down FTP Server")
+		systemWideLogger.PrintAndLog("System", "<!> Shutting down FTP Server", nil)
 		ftpServer.Close()
 	}
 
 	//Cleaning up tmp files
-	log.Println("\r- Cleaning up tmp folder")
+	systemWideLogger.PrintAndLog("System", "<!> Cleaning up tmp folder", nil)
 	os.RemoveAll(*tmp_directory)
 	//Do other things
 	os.Exit(0)

+ 2 - 3
mediaServer.go

@@ -5,7 +5,6 @@ import (
 	"encoding/hex"
 	"errors"
 	"io"
-	"log"
 	"net/http"
 	"net/url"
 	"os"
@@ -103,12 +102,12 @@ func media_server_validateSourceFile(w http.ResponseWriter, r *http.Request) (*f
 		possibleVirtualFilePath := urlInfo[len(urlInfo)-1]
 		possibleRealpath, err := fshAbs.VirtualPathToRealPath(possibleVirtualFilePath, userinfo.Username)
 		if err != nil {
-			log.Println("Error when trying to serve file in compatibility mode", err.Error())
+			systemWideLogger.PrintAndLog("Media Server", "Error when trying to serve file in compatibility mode", err)
 			return nil, "", "", errors.New("Error when trying to serve file in compatibility mode")
 		}
 		if fshAbs.FileExists(possibleRealpath) {
 			realFilepath = possibleRealpath
-			log.Println("[Media Server] Serving file " + filepath.Base(possibleRealpath) + " in compatibility mode. Do not to use '&' or '+' sign in filename! ")
+			systemWideLogger.PrintAndLog("Media Server", "Serving file "+filepath.Base(possibleRealpath)+" in compatibility mode. Do not to use '&' or '+' sign in filename! ", nil)
 			return fsh, targetfile, realFilepath, nil
 		} else {
 			return nil, "", "", errors.New("File not exists")

+ 3 - 1
mod/info/logger/logger.go

@@ -39,7 +39,9 @@ func NewLogger(logFilePrefix string, logFolder string, logToFile bool) (*Logger,
 }
 
 func (l *Logger) PrintAndLog(title string, message string, originalError error) {
-	l.Log(title, message, originalError)
+	go func() {
+		l.Log(title, message, originalError)
+	}()
 	log.Println("[" + title + "] " + message)
 }
 

+ 1 - 1
module.go

@@ -70,7 +70,7 @@ func ModuleServiceInit() {
 			//Translate it to realpath
 			rpath, err := fsh.FileSystemAbstraction.VirtualPathToRealPath(subpath, userinfo.Username)
 			if err != nil {
-				log.Println("*Module Installer* Failed to install module: ", err.Error())
+				systemWideLogger.PrintAndLog("Module Installer", "Failed to install module: "+err.Error(), err)
 				common.SendErrorResponse(w, "Invalid installer path")
 				return
 			}

+ 1 - 2
network.forward.go

@@ -2,7 +2,6 @@ package main
 
 import (
 	"encoding/json"
-	"log"
 	"net/http"
 	"strconv"
 
@@ -36,7 +35,7 @@ func portForwardInit() {
 			//Forward the recorded port
 			err := UPNP.ForwardPort(portNumber, policyName)
 			if err != nil {
-				log.Println("Port Fordware Failed: ", err.Error(), ". Skipping "+policyName)
+				systemWideLogger.PrintAndLog("UpnP", "Port Fordware Failed: "+err.Error()+". Skipping "+policyName, err)
 			}
 
 		}

+ 7 - 7
network.ftp.go

@@ -3,9 +3,9 @@ package main
 import (
 	"encoding/json"
 	"errors"
-	"log"
 	"net/http"
 	"strconv"
+	"strings"
 
 	"imuslab.com/arozos/mod/common"
 	prout "imuslab.com/arozos/mod/prouter"
@@ -97,7 +97,7 @@ func storageHandleFTPPassiveModeSettings(w http.ResponseWriter, r *http.Request)
 			return
 		}
 
-		log.Println("Updatng FTP Server PassiveMode to", passive)
+		systemWideLogger.PrintAndLog("FTP", "Updating FTP Server PassiveMode to"+passive, nil)
 		if passive == "true" {
 			sysdb.Write("ftp", "passive", true)
 		} else {
@@ -133,7 +133,7 @@ func storageHandleFTPServerStop(w http.ResponseWriter, r *http.Request) {
 		ftpServer.Close()
 	}
 	sysdb.Write("ftp", "default", false)
-	log.Println("FTP Server Stopped")
+	systemWideLogger.PrintAndLog("FTP", "FTP Server Stopped", nil)
 	common.SendOK(w)
 }
 
@@ -141,10 +141,10 @@ func storageHandleFTPServerStop(w http.ResponseWriter, r *http.Request) {
 func storageHandleFTPuPnP(w http.ResponseWriter, r *http.Request) {
 	enable, _ := common.Mv(r, "enable", false)
 	if enable == "true" {
-		log.Println("Enabling UPnP on FTP Server Port")
+		systemWideLogger.PrintAndLog("FTP", "Enabling UPnP on FTP Server Port", nil)
 		sysdb.Write("ftp", "upnp", true)
 	} else {
-		log.Println("Disabling UPnP on FTP Server Port")
+		systemWideLogger.PrintAndLog("FTP", "Disabling UPnP on FTP Server Port", nil)
 		sysdb.Write("ftp", "upnp", false)
 	}
 
@@ -173,7 +173,7 @@ func storageHandleFTPAccessUpdate(w http.ResponseWriter, r *http.Request) {
 		return
 	}
 
-	log.Println("Updating FTP Access group to: ", groups)
+	systemWideLogger.PrintAndLog("FTP", "Updating FTP Access group to: "+strings.Join(groups, ","), nil)
 	//Set the accessable group
 	ftp.UpdateAccessableGroups(sysdb, groups)
 
@@ -339,7 +339,7 @@ func storageFTPServerStart() error {
 				//Forward the port
 				err := UPNP.ForwardPort(ftpServer.Port, *host_name+" FTP Server")
 				if err != nil {
-					log.Println("Failed to start FTP Server UPnP: ", err)
+					systemWideLogger.PrintAndLog("FTP", "Failed to start FTP Server UPnP ", err)
 					ftpServer.UPNPEnabled = false
 					return err
 				} else {

+ 9 - 10
network.go

@@ -1,7 +1,6 @@
 package main
 
 import (
-	"log"
 	"net/http"
 	"strconv"
 
@@ -24,7 +23,7 @@ var (
 )
 
 func NetworkServiceInit() {
-	log.Println("Starting ArOZ Network Services")
+	systemWideLogger.PrintAndLog("Network", "Starting ArOZ Network Services", nil)
 
 	//Create a router that allow users with System Setting access to access these api endpoints
 	router := prout.NewModuleRouter(prout.RouterOption{
@@ -116,7 +115,7 @@ func StartNetworkServices() {
 		})
 
 		if err != nil {
-			log.Println("MDNS Startup Failed: " + err.Error() + ". Running in Offline Mode.")
+			systemWideLogger.PrintAndLog("Network", "MDNS Startup Failed. Running in Offline Mode.", err)
 		} else {
 			MDNS = m
 		}
@@ -130,7 +129,7 @@ func StartNetworkServices() {
 		//Get outbound ip
 		obip, err := network.GetOutboundIP()
 		if err != nil {
-			log.Println("SSDP Startup Failed: " + err.Error() + ". Running in Offline Mode.")
+			systemWideLogger.PrintAndLog("Network", "SSDP Startup Failed. Running in Offline Mode.", err)
 		} else {
 			thisIp := obip.String()
 			adv, err := ssdp.NewSSDPHost(thisIp, *listen_port, "system/ssdp.xml", ssdp.SSDPOption{
@@ -145,7 +144,7 @@ func StartNetworkServices() {
 			})
 
 			if err != nil {
-				log.Println("SSDP Startup Failed: " + err.Error() + ". Running in Offline Mode.")
+				systemWideLogger.PrintAndLog("Network", "SSDP Startup Failed. Running in Offline Mode.", err)
 			} else {
 				//OK! Start SSDP Service
 				SSDP = adv
@@ -168,7 +167,7 @@ func StartNetworkServices() {
 		}
 
 		if err != nil {
-			log.Println("UPnP Startup Failed: " + err.Error())
+			systemWideLogger.PrintAndLog("Network", "UPnP Startup Failed: "+err.Error(), err)
 		} else {
 
 			//Bind the http port if running in https and http server is not disabled
@@ -194,7 +193,7 @@ func StartNetworkServices() {
 			}
 
 			localEndpoint := obipstring + ":" + strconv.Itoa(*listen_port)
-			log.Println("Automatic Port Forwarding Completed. Forwarding all request from " + connectionEndpoint + " to " + localEndpoint)
+			systemWideLogger.PrintAndLog("Network", "Automatic Port Forwarding Completed. Forwarding all request from "+connectionEndpoint+" to "+localEndpoint, nil)
 
 		}
 
@@ -205,19 +204,19 @@ func StopNetworkServices() {
 	//log.Println("Shutting Down Network Services...")
 	//Shutdown uPNP service if enabled
 	if *allow_upnp {
-		log.Println("\r- Shutting down uPNP service")
+		systemWideLogger.PrintAndLog("System", "<!> Shutting down uPNP service", nil)
 		UPNP.Close()
 	}
 
 	//Shutdown SSDP service if enabled
 	if *allow_ssdp {
-		log.Println("\r- Shutting down SSDP service")
+		systemWideLogger.PrintAndLog("System", "<!> Shutting down SSDP service", nil)
 		SSDP.Close()
 	}
 
 	//Shutdown MDNS if enabled
 	if *allow_mdns {
-		log.Println("\r- Shutting down MDNS service")
+		systemWideLogger.PrintAndLog("System", "<!> Shutting down MDNS service", nil)
 		MDNS.Close()
 	}
 }