diff --git a/alt_exit.go b/alt_exit.go index 6c354ad..889a504 100644 --- a/alt_exit.go +++ b/alt_exit.go @@ -23,38 +23,37 @@ package logrus // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. import ( -"fmt" -"os" + "fmt" + "os" ) var handlers = []func(){} func runHandler(handler func()) { -defer func() { -if err := recover(); err != nil { -fmt.Fprintln(os.Stderr, "Error: Logrus exit handler error:", err) -} -}() + defer func() { + if err := recover(); err != nil { + fmt.Fprintln(os.Stderr, "Error: Logrus exit handler error:", err) + } + }() -handler() + handler() } func runHandlers() { -for _, handler := range handlers { -runHandler(handler) -} + for _, handler := range handlers { + runHandler(handler) + } } // Exit runs all the Logrus atexit handlers and then terminates the program using os.Exit(code) func Exit(code int) { -runHandlers() -os.Exit(code) + runHandlers() + os.Exit(code) } // RegisterExitHandler adds a Logrus atexit handler, call logrus.Exit to invoke // all handlers. The handlers will also be invoked when any Fatal log entry is // made. func RegisterExitHandler(handler func()) { -handlers = append(handlers, handler) + handlers = append(handlers, handler) } - diff --git a/alt_exit_test.go b/alt_exit_test.go index 69a3b5c..28aa01c 100644 --- a/alt_exit_test.go +++ b/alt_exit_test.go @@ -1,41 +1,41 @@ package logrus import ( -"os/exec" -"testing" -"io/ioutil" -"time" + "io/ioutil" + "os/exec" + "testing" + "time" ) func TestRegister(t *testing.T) { -current := len(handlers) -RegisterExitHandler(func() {}) -if len(handlers) != current+1 { -t.Fatalf("can't add handler") -} + current := len(handlers) + RegisterExitHandler(func() {}) + if len(handlers) != current+1 { + t.Fatalf("can't add handler") + } } func TestHandler(t *testing.T) { -gofile := "/tmp/testprog.go" -if err := ioutil.WriteFile(gofile, testprog, 0666); err != nil { -t.Fatalf("can't create go file") -} + gofile := "/tmp/testprog.go" + if err := ioutil.WriteFile(gofile, testprog, 0666); err != nil { + t.Fatalf("can't create go file") + } -outfile := "/tmp/testprog.out" -arg := time.Now().UTC().String() -err := exec.Command("go", "run", gofile, outfile, arg).Run() -if err == nil { -t.Fatalf("completed normally, should have failed") -} + outfile := "/tmp/testprog.out" + arg := time.Now().UTC().String() + err := exec.Command("go", "run", gofile, outfile, arg).Run() + if err == nil { + t.Fatalf("completed normally, should have failed") + } -data, err := ioutil.ReadFile(outfile) -if err != nil { -t.Fatalf("can't read output file %s", outfile) -} + data, err := ioutil.ReadFile(outfile) + if err != nil { + t.Fatalf("can't read output file %s", outfile) + } -if string(data) != arg { -t.Fatalf("bad data") -} + if string(data) != arg { + t.Fatalf("bad data") + } } var testprog = []byte(` @@ -72,4 +72,3 @@ func main() { logrus.Fatal("Bye bye") } `) -