File: logger.go

package info (click to toggle)
gobuster 3.8.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,200 kB
  • sloc: makefile: 8
file content (90 lines) | stat: -rw-r--r-- 1,716 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
package libgobuster

import (
	"log" // nolint:depguard
	"os"

	"github.com/fatih/color"
)

type Logger struct {
	log      *log.Logger
	errorLog *log.Logger
	debugLog *log.Logger
	warnLog  *log.Logger
	infoLog  *log.Logger
	debug    bool
}

func NewLogger(debug bool) *Logger {
	return &Logger{
		log:      log.New(os.Stdout, "", 0),
		errorLog: log.New(os.Stderr, color.New(color.FgRed).Sprint("[ERROR] "), 0),
		debugLog: log.New(os.Stderr, color.New(color.FgBlue).Sprint("[DEBUG] "), 0),
		warnLog:  log.New(os.Stderr, color.New(color.FgYellow).Sprint("[WARN] "), 0),
		infoLog:  log.New(os.Stderr, color.New(color.FgCyan).Sprint("[INFO] "), 0),
		debug:    debug,
	}
}

func (l Logger) Debug(v ...any) {
	if !l.debug {
		return
	}
	l.debugLog.Print(v...)
}

func (l Logger) Debugf(format string, v ...any) {
	if !l.debug {
		return
	}
	l.debugLog.Printf(format, v...)
}

func (l Logger) Warn(v ...any) {
	l.warnLog.Print(v...)
}

func (l Logger) Warnf(format string, v ...any) {
	l.warnLog.Printf(format, v...)
}

func (l Logger) Info(v ...any) {
	l.infoLog.Print(v...)
}

func (l Logger) Infof(format string, v ...any) {
	l.infoLog.Printf(format, v...)
}

func (l Logger) Print(v ...any) {
	l.log.Print(v...)
}

func (l Logger) Printf(format string, v ...any) {
	l.log.Printf(format, v...)
}

func (l Logger) Println(v ...any) {
	l.log.Println(v...)
}

func (l Logger) Error(v ...any) {
	l.errorLog.Print(v...)
}

func (l Logger) Errorf(format string, v ...any) {
	l.errorLog.Printf(format, v...)
}

func (l Logger) Fatal(v ...any) {
	l.errorLog.Fatal(v...)
}

func (l Logger) Fatalf(format string, v ...any) {
	l.errorLog.Fatalf(format, v...)
}

func (l Logger) Fatalln(v ...any) {
	l.errorLog.Fatalln(v...)
}