mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2024-12-12 10:00:46 +01:00
098dbe6ff4
* first commit Signed-off-by: kim <grufwub@gmail.com> * replace logging with our own log library Signed-off-by: kim <grufwub@gmail.com> * fix imports Signed-off-by: kim <grufwub@gmail.com> * fix log imports Signed-off-by: kim <grufwub@gmail.com> * add license text Signed-off-by: kim <grufwub@gmail.com> * fix package import cycle between config and log package Signed-off-by: kim <grufwub@gmail.com> * fix empty kv.Fields{} being passed to WithFields() Signed-off-by: kim <grufwub@gmail.com> * fix uses of log.WithFields() with whitespace issues and empty slices Signed-off-by: kim <grufwub@gmail.com> * *linter related grumbling* Signed-off-by: kim <grufwub@gmail.com> * gofmt the codebase! also fix more log.WithFields() formatting issues Signed-off-by: kim <grufwub@gmail.com> * update testrig code to match new changes Signed-off-by: kim <grufwub@gmail.com> * fix error wrapping in non fmt.Errorf function Signed-off-by: kim <grufwub@gmail.com> * add benchmarking of log.Caller() vs non-cached Signed-off-by: kim <grufwub@gmail.com> * fix syslog tests, add standard build tags to test runner to ensure consistency Signed-off-by: kim <grufwub@gmail.com> * make syslog tests more robust Signed-off-by: kim <grufwub@gmail.com> * fix caller depth arithmatic (is that how you spell it?) Signed-off-by: kim <grufwub@gmail.com> * update to use unkeyed fields in kv.Field{} instances Signed-off-by: kim <grufwub@gmail.com> * update go-kv library Signed-off-by: kim <grufwub@gmail.com> * update libraries list Signed-off-by: kim <grufwub@gmail.com> * fuck you linter get nerfed Signed-off-by: kim <grufwub@gmail.com> Co-authored-by: tobi <31960611+tsmethurst@users.noreply.github.com>
50 lines
1.0 KiB
Go
50 lines
1.0 KiB
Go
package level
|
|
|
|
// LEVEL defines a level of logging.
|
|
type LEVEL uint8
|
|
|
|
// Default levels of logging.
|
|
const (
|
|
UNSET LEVEL = 0
|
|
PANIC LEVEL = 1
|
|
FATAL LEVEL = 50
|
|
ERROR LEVEL = 100
|
|
WARN LEVEL = 150
|
|
INFO LEVEL = 200
|
|
DEBUG LEVEL = 250
|
|
TRACE LEVEL = 254
|
|
ALL LEVEL = ^LEVEL(0)
|
|
)
|
|
|
|
// CanLog returns whether an incoming log of 'lvl' can be logged against receiving level.
|
|
func (loglvl LEVEL) CanLog(lvl LEVEL) bool {
|
|
return loglvl > lvl
|
|
}
|
|
|
|
// Levels defines a mapping of log LEVELs to formatted level strings.
|
|
type Levels [int(ALL) + 1]string
|
|
|
|
// Default returns the default set of log levels.
|
|
func Default() Levels {
|
|
return Levels{
|
|
TRACE: "TRACE",
|
|
DEBUG: "DEBUG",
|
|
INFO: "INFO",
|
|
WARN: "WARN",
|
|
ERROR: "ERROR",
|
|
FATAL: "FATAL",
|
|
PANIC: "PANIC",
|
|
|
|
// we set these just so that
|
|
// it can be debugged when someone
|
|
// attempts to log with ALL/UNSET
|
|
ALL: "{all}",
|
|
UNSET: "{unset}",
|
|
}
|
|
}
|
|
|
|
// Get fetches the level string for the provided value.
|
|
func (l Levels) Get(lvl LEVEL) string {
|
|
return l[int(lvl)]
|
|
}
|