github.com/crowdsecurity/crowdsec@v1.6.1/cmd/crowdsec/fatalhook.go (about)

     1  package main
     2  
     3  import (
     4  	"io"
     5  
     6  	log "github.com/sirupsen/logrus"
     7  )
     8  
     9  // FatalHook is used to log fatal messages to stderr when the rest goes to a file
    10  type FatalHook struct {
    11  	Writer    io.Writer
    12  	LogLevels []log.Level
    13  }
    14  
    15  func (hook *FatalHook) Fire(entry *log.Entry) error {
    16  	line, err := entry.String()
    17  	if err != nil {
    18  		return err
    19  	}
    20  
    21  	_, err = hook.Writer.Write([]byte(line))
    22  
    23  	return err
    24  }
    25  
    26  func (hook *FatalHook) Levels() []log.Level {
    27  	return hook.LogLevels
    28  }