summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/apex/log/levels.go
diff options
context:
space:
mode:
authorWim <wim@42.be>2021-10-17 00:47:22 +0200
committerGitHub <noreply@github.com>2021-10-17 00:47:22 +0200
commit4dd8bae5c91fa4aef09d865d8fef1acd84f90925 (patch)
treeffad9b242daccaf8c86d1c1fbd59032302bd3be9 /vendor/github.com/apex/log/levels.go
parent7ae45c42e712bd0e66c101f3f714c05aa1dc2104 (diff)
downloadmatterbridge-msglm-4dd8bae5c91fa4aef09d865d8fef1acd84f90925.tar.gz
matterbridge-msglm-4dd8bae5c91fa4aef09d865d8fef1acd84f90925.tar.bz2
matterbridge-msglm-4dd8bae5c91fa4aef09d865d8fef1acd84f90925.zip
Update dependencies (#1610)
* Update dependencies * Update module to go 1.17
Diffstat (limited to 'vendor/github.com/apex/log/levels.go')
-rw-r--r--vendor/github.com/apex/log/levels.go81
1 files changed, 81 insertions, 0 deletions
diff --git a/vendor/github.com/apex/log/levels.go b/vendor/github.com/apex/log/levels.go
new file mode 100644
index 00000000..7d43a436
--- /dev/null
+++ b/vendor/github.com/apex/log/levels.go
@@ -0,0 +1,81 @@
+package log
+
+import (
+ "bytes"
+ "errors"
+ "strings"
+)
+
+// ErrInvalidLevel is returned if the severity level is invalid.
+var ErrInvalidLevel = errors.New("invalid level")
+
+// Level of severity.
+type Level int
+
+// Log levels.
+const (
+ InvalidLevel Level = iota - 1
+ DebugLevel
+ InfoLevel
+ WarnLevel
+ ErrorLevel
+ FatalLevel
+)
+
+var levelNames = [...]string{
+ DebugLevel: "debug",
+ InfoLevel: "info",
+ WarnLevel: "warn",
+ ErrorLevel: "error",
+ FatalLevel: "fatal",
+}
+
+var levelStrings = map[string]Level{
+ "debug": DebugLevel,
+ "info": InfoLevel,
+ "warn": WarnLevel,
+ "warning": WarnLevel,
+ "error": ErrorLevel,
+ "fatal": FatalLevel,
+}
+
+// String implementation.
+func (l Level) String() string {
+ return levelNames[l]
+}
+
+// MarshalJSON implementation.
+func (l Level) MarshalJSON() ([]byte, error) {
+ return []byte(`"` + l.String() + `"`), nil
+}
+
+// UnmarshalJSON implementation.
+func (l *Level) UnmarshalJSON(b []byte) error {
+ v, err := ParseLevel(string(bytes.Trim(b, `"`)))
+ if err != nil {
+ return err
+ }
+
+ *l = v
+ return nil
+}
+
+// ParseLevel parses level string.
+func ParseLevel(s string) (Level, error) {
+ l, ok := levelStrings[strings.ToLower(s)]
+ if !ok {
+ return InvalidLevel, ErrInvalidLevel
+ }
+
+ return l, nil
+}
+
+// MustParseLevel parses level string or panics.
+func MustParseLevel(s string) Level {
+ l, err := ParseLevel(s)
+ if err != nil {
+ panic("invalid log level")
+ }
+
+ return l
+}