print error if logging fails

This commit is contained in:
Harvey Tindall 2021-12-20 19:05:18 +00:00
parent ebb49fce97
commit d81679fbae
Signed by: hrfee
GPG Key ID: BBC65952848FB1A2
2 changed files with 7 additions and 3 deletions

5
log.go
View File

@ -14,14 +14,15 @@ import (
var logPath string = filepath.Join(temp, "jfa-go.log")
var lineCache = linecache.NewLineCache(100)
func logOutput() (closeFunc func()) {
func logOutput() (closeFunc func(), err error) {
old := os.Stdout
writers := []io.Writer{old, colorStripper{lineCache}}
wExit := make(chan bool)
r, w, _ := os.Pipe()
var f *os.File
if TRAY {
log.Printf("Logging to \"%s\"", logPath)
f, err := os.OpenFile(logPath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0666)
f, err = os.OpenFile(logPath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0666)
if err != nil {
closeFunc = func() {}
return

View File

@ -667,7 +667,10 @@ func printVersion() {
}
func main() {
f := logOutput()
f, err := logOutput()
if err != nil {
fmt.Printf("Failed to start logging: %v\n", err)
}
defer f()
printVersion()
SOCK = filepath.Join(temp, SOCK)