From 98ed8d9a295bd4995ea7e2259e26fbd05b1880c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krist=C3=B3f=20T=C3=B3th?= Date: Wed, 9 Sep 2020 23:50:28 +0200 Subject: [PATCH] Remove logfile if it's empty before exiting --- cmd/after-lock/after-lock.go | 2 +- cmd/after-lock/logging.go | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/cmd/after-lock/after-lock.go b/cmd/after-lock/after-lock.go index 384229f..a27164b 100644 --- a/cmd/after-lock/after-lock.go +++ b/cmd/after-lock/after-lock.go @@ -25,7 +25,7 @@ func main() { defer handleErrors() f := initLogging() if f != nil { - defer f.Close() + defer teardownLogging(f) } lock := grabExclusiveProcessLock() diff --git a/cmd/after-lock/logging.go b/cmd/after-lock/logging.go index 3ad5e89..4eb48f4 100644 --- a/cmd/after-lock/logging.go +++ b/cmd/after-lock/logging.go @@ -17,4 +17,21 @@ func initLogging() *os.File { log.SetOutput(f) return f +} + +func teardownLogging(f *os.File) { + fi, err := f.Stat() + if err != nil { + panic(err) + } + if fi.Size() == 0 { + err = os.Remove(f.Name()) + if err != nil { + panic(err) + } + } + err = f.Close() + if err != nil { + panic(err) + } } \ No newline at end of file