Setup proper logging
This commit is contained in:
parent
f80f2be784
commit
93da02bf90
@ -6,9 +6,9 @@ import (
|
||||
"after-lock/xdg/keypressdetector"
|
||||
"after-lock/xdg/lockscreen"
|
||||
"after-lock/lockfile"
|
||||
"fmt"
|
||||
"os"
|
||||
"runtime/debug"
|
||||
"log"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -17,11 +17,16 @@ const (
|
||||
keyboardDeviceNode = "/dev/input/by-id/usb-Dell_Dell_USB_Entry_Keyboard-event-kbd"
|
||||
lockfilePath = "/tmp/after-lock.lock"
|
||||
printStackTraces = false
|
||||
logFilePath = "/home/superuser/Desktop/after-lock.log"
|
||||
)
|
||||
|
||||
|
||||
func main() {
|
||||
defer handleErrors()
|
||||
f := initLogging()
|
||||
if f != nil {
|
||||
defer f.Close()
|
||||
}
|
||||
|
||||
lock := grabExclusiveProcessLock()
|
||||
defer lock.Unlock()
|
||||
@ -36,11 +41,25 @@ func main() {
|
||||
al.Start()
|
||||
}
|
||||
|
||||
func initLogging() *os.File {
|
||||
if len(logFilePath) == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
f, err := os.OpenFile(logFilePath, os.O_RDWR | os.O_CREATE | os.O_APPEND, 0600)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
log.SetOutput(f)
|
||||
return f
|
||||
}
|
||||
|
||||
func handleErrors() {
|
||||
if err := recover(); err != nil {
|
||||
fmt.Printf("Crashed with unexpected error: %v!\n", err)
|
||||
log.Printf("Crashed with unexpected error: %v!\n", err)
|
||||
if printStackTraces {
|
||||
fmt.Printf("Stack trace:\n\n")
|
||||
log.Printf("Stack trace:\n\n")
|
||||
debug.PrintStack()
|
||||
}
|
||||
os.Exit(1)
|
||||
|
Loading…
Reference in New Issue
Block a user