From 1aeb049a5463c8c87beb8aa034c3899a2f39a893 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Thu, 21 Mar 2019 16:36:33 -0700 Subject: [PATCH] Panic if logging is attempted after Close Attempt to catch places where logs are truncated by panicing if logging is attempted after Close. Test: m nothing Change-Id: If670f20d08832ed65b63af5589b548e9815f2f0d --- ui/logger/logger.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ui/logger/logger.go b/ui/logger/logger.go index 58890e966..9b26ae80a 100644 --- a/ui/logger/logger.go +++ b/ui/logger/logger.go @@ -180,12 +180,16 @@ func (s *stdLogger) SetOutput(path string) *stdLogger { return s } +type panicWriter struct{} + +func (panicWriter) Write([]byte) (int, error) { panic("write to panicWriter") } + // Close disables logging to the file and closes the file handle. func (s *stdLogger) Close() { s.mutex.Lock() defer s.mutex.Unlock() if s.file != nil { - s.fileLogger.SetOutput(ioutil.Discard) + s.fileLogger.SetOutput(panicWriter{}) s.file.Close() s.file = nil }