main.go 611 B

12345678910111213141516171819202122232425262728
  1. package main
  2. import (
  3. "os"
  4. "os/signal"
  5. "github.com/rs/zerolog"
  6. "github.com/rs/zerolog/log"
  7. "github.com/zricethezav/gitleaks/v8/cmd"
  8. )
  9. func main() {
  10. // send all logs to stdout
  11. log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stderr})
  12. // this block sets up a go routine to listen for an interrupt signal
  13. // which will immediately exit gitleaks
  14. stopChan := make(chan os.Signal, 1)
  15. signal.Notify(stopChan, os.Interrupt)
  16. go listenForInterrupt(stopChan)
  17. cmd.Execute()
  18. }
  19. func listenForInterrupt(stopScan chan os.Signal) {
  20. <-stopScan
  21. log.Fatal().Msg("Interrupt signal received. Exiting...")
  22. }