Go fmt alt exit addition

This commit is contained in:
Aaron Greenlee
2016-06-24 10:24:56 -04:00
parent a7755c5c03
commit ff52e76f67
2 changed files with 40 additions and 42 deletions
+14 -15
View File
@@ -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)
}