Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( AppColorizer = color.Gray.Sprint // App is the name of the application App = " main" )
var LevelSpecs = map[LogLevel]LevelSpec{ Off: gLS(Off, 0, 0, 0), Fatal: gLS(Fatal, 255, 0, 0), Error: gLS(Error, 255, 128, 0), Check: gLS(Check, 255, 255, 0), Warn: gLS(Warn, 255, 255, 0), Info: gLS(Info, 0, 255, 0), Debug: gLS(Debug, 0, 128, 255), Trace: gLS(Trace, 128, 0, 255), }
LevelSpecs specifies the id, string name and color-printing function
Functions ¶
func Add ¶ added in v0.0.3
Add adds a subsystem to the list of known subsystems and returns the string so it is nice and neat in the package logg.go file
func GetLoc ¶ added in v0.0.3
GetLoc calls runtime.Caller and formats as expected by source code editors for terminal hyperlinks
Regular expressions and the substitution texts to make these clickable in Tilix and other RE hyperlink configurable terminal emulators:
This matches the shortened paths generated in this command and printed at the very beginning of the line as this logger prints:
^((([\/a-zA-Z@0-9-_.]+/)+([a-zA-Z@0-9-_.]+)):([0-9]+)) /usr/local/bin/goland --line $5 $GOPATH/src/github.com/p9c/matrjoska/$2
I have used a shell variable there but tilix doesn't expand them, so put your GOPATH in manually, and obviously change the repo subpath.
Change the path to use with another repository's logging output ( someone with more time on their hands could probably come up with something, but frankly the custom links feature of Tilix has the absolute worst UX I have encountered since the 90s... Maybe in the future this library will be expanded with a tool that more intelligently sets the path, ie from CWD or other cleverness.
This matches full paths anywhere on the commandline delimited by spaces:
([/](([\/a-zA-Z@0-9-_.]+/)+([a-zA-Z@0-9-_.]+)):([0-9]+))
goland --line $5 /$2
Adapt the invocation to open your preferred editor if it has the capability, the above is for Jetbrains Goland
Types ¶
type LevelPrinter ¶
type LevelPrinter struct { Ln Println // F prints like fmt.Println surrounded by log details F Printf // S uses spew.dump to show the content of a variable S Prints // C accepts a function so that the extra computation can be avoided if // it is not being viewed C Printc // Chk is a shortcut for printing if there is an error, or returning // true Chk Chk }
LevelPrinter defines a set of terminal printing primitives that output with extra data, time, level, and code location
type Logger ¶
type Logger struct {
F, E, W, I, D, T LevelPrinter
}
type Printc ¶
type Printc func(closure func() string)
Printc accepts a function so that the extra computation can be avoided if it is not being viewed
type Printf ¶
type Printf func(format string, a ...interface{})
Printf prints like fmt.Println surrounded by log details