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