Improve logging #2
| @@ -3,4 +3,4 @@ | ||||
|   Name = "EpochSilicon" | ||||
|   ID = "com.burkey.epochsilicon" | ||||
|   Version = "1.0.0" | ||||
|   Build = 3 | ||||
|   Build = 4 | ||||
|   | ||||
							
								
								
									
										3
									
								
								main.go
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								main.go
									
									
									
									
									
								
							| @@ -13,6 +13,9 @@ import ( | ||||
| const appVersion = "1.0.1" | ||||
|  | ||||
| func main() { | ||||
| 	log.SetupLogging() | ||||
| 	defer log.Close() | ||||
|  | ||||
| 	PEApp := app.NewWithID("com.burkey.epochsilicon") | ||||
| 	PEWindow := PEApp.NewWindow("EpochSilicon v" + appVersion) | ||||
| 	PEWindow.Resize(fyne.NewSize(650, 500)) | ||||
|   | ||||
| @@ -2,8 +2,8 @@ package launcher | ||||
|  | ||||
| import ( | ||||
| 	"bufio" | ||||
| 	"epochsilicon/pkg/log" | ||||
| 	"fmt" | ||||
| 	"github.com/rs/zerolog/log" | ||||
| 	"os" | ||||
| 	"os/exec" | ||||
| 	"path/filepath" | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| package launcher | ||||
|  | ||||
| import ( | ||||
| 	"epochsilicon/pkg/log" | ||||
| 	"fmt" | ||||
| 	"github.com/rs/zerolog/log" | ||||
| 	"os" | ||||
| 	"path/filepath" | ||||
| 	"regexp" | ||||
|   | ||||
| @@ -3,14 +3,42 @@ package log | ||||
| import ( | ||||
| 	"github.com/rs/zerolog" | ||||
| 	"os" | ||||
| 	"path/filepath" | ||||
| ) | ||||
|  | ||||
| var logger zerolog.Logger | ||||
| const ApplicationSupportDir = "/Library/Application Support/EpochSilicon" | ||||
|  | ||||
| func init() { | ||||
| 	zerolog.TimeFieldFormat = zerolog.TimeFormatUnix | ||||
| 	zerolog.SetGlobalLevel(zerolog.InfoLevel) | ||||
| 	logger = zerolog.New(os.Stdout).With().Timestamp().Logger() | ||||
| var ( | ||||
| 	logger         zerolog.Logger | ||||
| 	logFilePointer *os.File | ||||
| 	logFilePath    = filepath.Join(ApplicationSupportDir, "EpochSilicon.log") | ||||
| ) | ||||
|  | ||||
| func SetupLogging() { | ||||
| 	logFilePointer = nil | ||||
| 	ToConsole(zerolog.InfoLevel) | ||||
| } | ||||
|  | ||||
| func Close() { | ||||
| 	if logFilePointer != nil { | ||||
| 		logFilePointer.Close() | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func ToFile(level zerolog.Level) { | ||||
| 	Close() | ||||
| 	var err error | ||||
| 	logFilePointer, err = os.OpenFile(logFilePath, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666) | ||||
| 	if err != nil { | ||||
| 		logger.Error().Msg(err.Error()) | ||||
| 		return | ||||
| 	} | ||||
| 	logger = zerolog.New(logFilePointer).With().Timestamp().Logger().Level(level) | ||||
| } | ||||
|  | ||||
| func ToConsole(level zerolog.Level) { | ||||
| 	Close() | ||||
| 	logger = zerolog.New(os.Stdout).With().Timestamp().Logger().Level(level) | ||||
| } | ||||
|  | ||||
| func Debug(msg string) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user