From 119f7140d269aa5f9c01faa9d83d2e73e6f1efb0 Mon Sep 17 00:00:00 2001 From: Simon Garrelou Date: Wed, 20 Dec 2023 14:13:17 +0100 Subject: Add file-based error logging --- src/errors.go | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/errors.go (limited to 'src/errors.go') diff --git a/src/errors.go b/src/errors.go new file mode 100644 index 0000000..7fea064 --- /dev/null +++ b/src/errors.go @@ -0,0 +1,28 @@ +package src + +import ( + "fmt" + "os" + "time" +) + +var globalErrors = make(chan error, 100) + +func init() { + go func() { + f, err := os.OpenFile("errors.log", os.O_CREATE|os.O_APPEND|os.O_WRONLY, 0o664) + if err != nil { + panic(err) + } + defer f.Close() + + for e := range globalErrors { + f.WriteString(fmt.Sprintf("%s: %v\n", time.Now(), e)) + f.Sync() + } + }() +} + +func LogErrorf(format string, args ...any) { + globalErrors <- fmt.Errorf(format, args...) +} -- cgit v1.2.3