gitlab.com/jfprevost/gitlab-runner-notlscheck@v11.11.4+incompatible/helpers/fatal_panic.go (about) 1 package helpers 2 3 import ( 4 "fmt" 5 "io" 6 7 "github.com/sirupsen/logrus" 8 ) 9 10 type fatalLogHook struct { 11 output io.Writer 12 } 13 14 func (s *fatalLogHook) Levels() []logrus.Level { 15 return []logrus.Level{ 16 logrus.FatalLevel, 17 } 18 } 19 20 func (s *fatalLogHook) Fire(e *logrus.Entry) error { 21 fmt.Fprint(s.output, e.Message) 22 23 panic(e) 24 } 25 26 func MakeFatalToPanic() func() { 27 logger := logrus.StandardLogger() 28 hooks := make(logrus.LevelHooks) 29 30 hooks.Add(&fatalLogHook{output: logger.Out}) 31 oldHooks := logger.ReplaceHooks(hooks) 32 33 return func() { 34 logger.ReplaceHooks(oldHooks) 35 } 36 }