From b1d92b395322f2164ccfb44b0f7caebbaece6b62 Mon Sep 17 00:00:00 2001 From: jwijenbergh Date: Fri, 22 Apr 2022 16:29:59 +0200 Subject: Refactor: Restructure project - Add an internal folder where all the internal code lives - Make a state.go and state_test.go for the public interface This gives a more clear separation between functions and modules. It also makes this a more typical Go project setup. --- src/log.go | 66 -------------------------------------------------------------- 1 file changed, 66 deletions(-) delete mode 100644 src/log.go (limited to 'src/log.go') diff --git a/src/log.go b/src/log.go deleted file mode 100644 index 7402e31..0000000 --- a/src/log.go +++ /dev/null @@ -1,66 +0,0 @@ -package eduvpn - -import ( - "fmt" - "log" - "os" - "path" -) - -type FileLogger struct { - Level LogLevel - File *os.File -} - -type LogLevel int8 - -const ( - LOG_NOTSET LogLevel = iota - LOG_INFO - LOG_WARNING - LOG_ERROR -) - -func (e LogLevel) String() string { - switch e { - case LOG_NOTSET: - return "NOTSET" - case LOG_INFO: - return "INFO" - case LOG_WARNING: - return "WARNING" - case LOG_ERROR: - return "ERROR" - default: - return "UNKNOWN" - } -} - -func (eduvpn *VPNState) getLogFilename() string { - pathString := path.Join(eduvpn.ConfigDirectory, eduvpn.Name) - return fmt.Sprintf("%s.log", pathString) -} - -func (eduvpn *VPNState) InitLog(level LogLevel) error { - configDirErr := eduvpn.EnsureConfigDir() - if configDirErr != nil { - return configDirErr - } - logFile, logOpenErr := os.OpenFile(eduvpn.getLogFilename(), os.O_RDWR|os.O_CREATE|os.O_APPEND, 0o666) - if logOpenErr != nil { - return logOpenErr - } - log.SetOutput(logFile) - eduvpn.LogFile = FileLogger{Level: level, File: logFile} - return nil -} - -func (eduvpn *VPNState) Log(level LogLevel, str string) { - if level >= eduvpn.LogFile.Level && eduvpn.LogFile.Level != LOG_NOTSET { - log.Printf("[%s]: %s", level.String(), str) - } -} - -func (eduvpn *VPNState) CloseLog() { - eduvpn.LogFile.File.Close() -} -- cgit v1.2.3