diff options
author | Rutger Broekhoff | 2023-12-29 21:31:53 +0100 |
---|---|---|
committer | Rutger Broekhoff | 2023-12-29 21:31:53 +0100 |
commit | 404aeae4545d2426c089a5f8d5e82dae56f5212b (patch) | |
tree | 2d84e00af272b39fc04f3795ae06bc48970e57b5 /vendor/github.com/sirupsen/logrus/logrus.go | |
parent | 209d8b0187ed025dec9ac149ebcced3462877bff (diff) | |
download | gitolfs3-404aeae4545d2426c089a5f8d5e82dae56f5212b.tar.gz gitolfs3-404aeae4545d2426c089a5f8d5e82dae56f5212b.zip |
Make Nix builds work
Diffstat (limited to 'vendor/github.com/sirupsen/logrus/logrus.go')
-rw-r--r-- | vendor/github.com/sirupsen/logrus/logrus.go | 186 |
1 files changed, 186 insertions, 0 deletions
diff --git a/vendor/github.com/sirupsen/logrus/logrus.go b/vendor/github.com/sirupsen/logrus/logrus.go new file mode 100644 index 0000000..2f16224 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/logrus.go | |||
@@ -0,0 +1,186 @@ | |||
1 | package logrus | ||
2 | |||
3 | import ( | ||
4 | "fmt" | ||
5 | "log" | ||
6 | "strings" | ||
7 | ) | ||
8 | |||
9 | // Fields type, used to pass to `WithFields`. | ||
10 | type Fields map[string]interface{} | ||
11 | |||
12 | // Level type | ||
13 | type Level uint32 | ||
14 | |||
15 | // Convert the Level to a string. E.g. PanicLevel becomes "panic". | ||
16 | func (level Level) String() string { | ||
17 | if b, err := level.MarshalText(); err == nil { | ||
18 | return string(b) | ||
19 | } else { | ||
20 | return "unknown" | ||
21 | } | ||
22 | } | ||
23 | |||
24 | // ParseLevel takes a string level and returns the Logrus log level constant. | ||
25 | func ParseLevel(lvl string) (Level, error) { | ||
26 | switch strings.ToLower(lvl) { | ||
27 | case "panic": | ||
28 | return PanicLevel, nil | ||
29 | case "fatal": | ||
30 | return FatalLevel, nil | ||
31 | case "error": | ||
32 | return ErrorLevel, nil | ||
33 | case "warn", "warning": | ||
34 | return WarnLevel, nil | ||
35 | case "info": | ||
36 | return InfoLevel, nil | ||
37 | case "debug": | ||
38 | return DebugLevel, nil | ||
39 | case "trace": | ||
40 | return TraceLevel, nil | ||
41 | } | ||
42 | |||
43 | var l Level | ||
44 | return l, fmt.Errorf("not a valid logrus Level: %q", lvl) | ||
45 | } | ||
46 | |||
47 | // UnmarshalText implements encoding.TextUnmarshaler. | ||
48 | func (level *Level) UnmarshalText(text []byte) error { | ||
49 | l, err := ParseLevel(string(text)) | ||
50 | if err != nil { | ||
51 | return err | ||
52 | } | ||
53 | |||
54 | *level = l | ||
55 | |||
56 | return nil | ||
57 | } | ||
58 | |||
59 | func (level Level) MarshalText() ([]byte, error) { | ||
60 | switch level { | ||
61 | case TraceLevel: | ||
62 | return []byte("trace"), nil | ||
63 | case DebugLevel: | ||
64 | return []byte("debug"), nil | ||
65 | case InfoLevel: | ||
66 | return []byte("info"), nil | ||
67 | case WarnLevel: | ||
68 | return []byte("warning"), nil | ||
69 | case ErrorLevel: | ||
70 | return []byte("error"), nil | ||
71 | case FatalLevel: | ||
72 | return []byte("fatal"), nil | ||
73 | case PanicLevel: | ||
74 | return []byte("panic"), nil | ||
75 | } | ||
76 | |||
77 | return nil, fmt.Errorf("not a valid logrus level %d", level) | ||
78 | } | ||
79 | |||
80 | // A constant exposing all logging levels | ||
81 | var AllLevels = []Level{ | ||
82 | PanicLevel, | ||
83 | FatalLevel, | ||
84 | ErrorLevel, | ||
85 | WarnLevel, | ||
86 | InfoLevel, | ||
87 | DebugLevel, | ||
88 | TraceLevel, | ||
89 | } | ||
90 | |||
91 | // These are the different logging levels. You can set the logging level to log | ||
92 | // on your instance of logger, obtained with `logrus.New()`. | ||
93 | const ( | ||
94 | // PanicLevel level, highest level of severity. Logs and then calls panic with the | ||
95 | // message passed to Debug, Info, ... | ||
96 | PanicLevel Level = iota | ||
97 | // FatalLevel level. Logs and then calls `logger.Exit(1)`. It will exit even if the | ||
98 | // logging level is set to Panic. | ||
99 | FatalLevel | ||
100 | // ErrorLevel level. Logs. Used for errors that should definitely be noted. | ||
101 | // Commonly used for hooks to send errors to an error tracking service. | ||
102 | ErrorLevel | ||
103 | // WarnLevel level. Non-critical entries that deserve eyes. | ||
104 | WarnLevel | ||
105 | // InfoLevel level. General operational entries about what's going on inside the | ||
106 | // application. | ||
107 | InfoLevel | ||
108 | // DebugLevel level. Usually only enabled when debugging. Very verbose logging. | ||
109 | DebugLevel | ||
110 | // TraceLevel level. Designates finer-grained informational events than the Debug. | ||
111 | TraceLevel | ||
112 | ) | ||
113 | |||
114 | // Won't compile if StdLogger can't be realized by a log.Logger | ||
115 | var ( | ||
116 | _ StdLogger = &log.Logger{} | ||
117 | _ StdLogger = &Entry{} | ||
118 | _ StdLogger = &Logger{} | ||
119 | ) | ||
120 | |||
121 | // StdLogger is what your logrus-enabled library should take, that way | ||
122 | // it'll accept a stdlib logger and a logrus logger. There's no standard | ||
123 | // interface, this is the closest we get, unfortunately. | ||
124 | type StdLogger interface { | ||
125 | Print(...interface{}) | ||
126 | Printf(string, ...interface{}) | ||
127 | Println(...interface{}) | ||
128 | |||
129 | Fatal(...interface{}) | ||
130 | Fatalf(string, ...interface{}) | ||
131 | Fatalln(...interface{}) | ||
132 | |||
133 | Panic(...interface{}) | ||
134 | Panicf(string, ...interface{}) | ||
135 | Panicln(...interface{}) | ||
136 | } | ||
137 | |||
138 | // The FieldLogger interface generalizes the Entry and Logger types | ||
139 | type FieldLogger interface { | ||
140 | WithField(key string, value interface{}) *Entry | ||
141 | WithFields(fields Fields) *Entry | ||
142 | WithError(err error) *Entry | ||
143 | |||
144 | Debugf(format string, args ...interface{}) | ||
145 | Infof(format string, args ...interface{}) | ||
146 | Printf(format string, args ...interface{}) | ||
147 | Warnf(format string, args ...interface{}) | ||
148 | Warningf(format string, args ...interface{}) | ||
149 | Errorf(format string, args ...interface{}) | ||
150 | Fatalf(format string, args ...interface{}) | ||
151 | Panicf(format string, args ...interface{}) | ||
152 | |||
153 | Debug(args ...interface{}) | ||
154 | Info(args ...interface{}) | ||
155 | Print(args ...interface{}) | ||
156 | Warn(args ...interface{}) | ||
157 | Warning(args ...interface{}) | ||
158 | Error(args ...interface{}) | ||
159 | Fatal(args ...interface{}) | ||
160 | Panic(args ...interface{}) | ||
161 | |||
162 | Debugln(args ...interface{}) | ||
163 | Infoln(args ...interface{}) | ||
164 | Println(args ...interface{}) | ||
165 | Warnln(args ...interface{}) | ||
166 | Warningln(args ...interface{}) | ||
167 | Errorln(args ...interface{}) | ||
168 | Fatalln(args ...interface{}) | ||
169 | Panicln(args ...interface{}) | ||
170 | |||
171 | // IsDebugEnabled() bool | ||
172 | // IsInfoEnabled() bool | ||
173 | // IsWarnEnabled() bool | ||
174 | // IsErrorEnabled() bool | ||
175 | // IsFatalEnabled() bool | ||
176 | // IsPanicEnabled() bool | ||
177 | } | ||
178 | |||
179 | // Ext1FieldLogger (the first extension to FieldLogger) is superfluous, it is | ||
180 | // here for consistancy. Do not use. Use Logger or Entry instead. | ||
181 | type Ext1FieldLogger interface { | ||
182 | FieldLogger | ||
183 | Tracef(format string, args ...interface{}) | ||
184 | Trace(args ...interface{}) | ||
185 | Traceln(args ...interface{}) | ||
186 | } | ||