Skip to content

Commit

Permalink
[minor] Add function logging (#29)
Browse files Browse the repository at this point in the history
* Add function logging
  • Loading branch information
kevindiu authored and Yusuke Kato committed Mar 25, 2019
1 parent 616e7d6 commit 4d20227
Show file tree
Hide file tree
Showing 2 changed files with 1,014 additions and 42 deletions.
156 changes: 156 additions & 0 deletions glg.go
Original file line number Diff line number Diff line change
Expand Up @@ -708,6 +708,14 @@ func (g *Glg) Logf(format string, val ...interface{}) error {
return g.out(LOG, format, val...)
}

// LogFunc outputs Log level log returned from the function
func (g *Glg) LogFunc(f func() string) error {
if g.isModeEnable(LOG) {
return g.out(LOG, "%s", f())
}
return nil
}

// Log writes std log event
func Log(val ...interface{}) error {
return glg.out(LOG, blankFormat(len(val)), val...)
Expand All @@ -718,6 +726,14 @@ func Logf(format string, val ...interface{}) error {
return glg.out(LOG, format, val...)
}

// LogFunc outputs Log level log returned from the function
func LogFunc(f func() string) error {
if isModeEnable(LOG) {
return glg.out(LOG, "%s", f())
}
return nil
}

// Info outputs Info level log
func (g *Glg) Info(val ...interface{}) error {
return g.out(INFO, blankFormat(len(val)), val...)
Expand All @@ -728,6 +744,14 @@ func (g *Glg) Infof(format string, val ...interface{}) error {
return g.out(INFO, format, val...)
}

// InfoFunc outputs Info level log returned from the function
func (g *Glg) InfoFunc(f func() string) error {
if g.isModeEnable(INFO) {
return g.out(INFO, "%s", f())
}
return nil
}

// Info outputs Info level log
func Info(val ...interface{}) error {
return glg.out(INFO, blankFormat(len(val)), val...)
Expand All @@ -738,6 +762,14 @@ func Infof(format string, val ...interface{}) error {
return glg.out(INFO, format, val...)
}

// InfoFunc outputs Info level log returned from the function
func InfoFunc(f func() string) error {
if isModeEnable(INFO) {
return glg.out(INFO, "%s", f())
}
return nil
}

// Success outputs Success level log
func (g *Glg) Success(val ...interface{}) error {
return g.out(OK, blankFormat(len(val)), val...)
Expand All @@ -748,6 +780,14 @@ func (g *Glg) Successf(format string, val ...interface{}) error {
return g.out(OK, format, val...)
}

// SuccessFunc outputs Success level log returned from the function
func (g *Glg) SuccessFunc(f func() string) error {
if g.isModeEnable(OK) {
return g.out(OK, "%s", f())
}
return nil
}

// Success outputs Success level log
func Success(val ...interface{}) error {
return glg.out(OK, blankFormat(len(val)), val...)
Expand All @@ -758,6 +798,14 @@ func Successf(format string, val ...interface{}) error {
return glg.out(OK, format, val...)
}

// SuccessFunc outputs Success level log returned from the function
func SuccessFunc(f func() string) error {
if isModeEnable(OK) {
return glg.out(OK, "%s", f())
}
return nil
}

// Debug outputs Debug level log
func (g *Glg) Debug(val ...interface{}) error {
return g.out(DEBG, blankFormat(len(val)), val...)
Expand All @@ -768,6 +816,14 @@ func (g *Glg) Debugf(format string, val ...interface{}) error {
return g.out(DEBG, format, val...)
}

// DebugFunc outputs Debug level log returned from the function
func (g *Glg) DebugFunc(f func() string) error {
if g.isModeEnable(DEBG) {
return g.out(DEBG, "%s", f())
}
return nil
}

// Debug outputs Debug level log
func Debug(val ...interface{}) error {
return glg.out(DEBG, blankFormat(len(val)), val...)
Expand All @@ -778,6 +834,14 @@ func Debugf(format string, val ...interface{}) error {
return glg.out(DEBG, format, val...)
}

// DebugFunc outputs Debug level log returned from the function
func DebugFunc(f func() string) error {
if isModeEnable(DEBG) {
return glg.out(DEBG, "%s", f())
}
return nil
}

// Warn outputs Warn level log
func (g *Glg) Warn(val ...interface{}) error {
return g.out(WARN, blankFormat(len(val)), val...)
Expand All @@ -788,6 +852,14 @@ func (g *Glg) Warnf(format string, val ...interface{}) error {
return g.out(WARN, format, val...)
}

// WarnFunc outputs Warn level log returned from the function
func (g *Glg) WarnFunc(f func() string) error {
if g.isModeEnable(WARN) {
return g.out(WARN, "%s", f())
}
return nil
}

// Warn outputs Warn level log
func Warn(val ...interface{}) error {
return glg.out(WARN, blankFormat(len(val)), val...)
Expand All @@ -798,6 +870,14 @@ func Warnf(format string, val ...interface{}) error {
return glg.out(WARN, format, val...)
}

// WarnFunc outputs Warn level log returned from the function
func WarnFunc(f func() string) error {
if isModeEnable(WARN) {
return glg.out(WARN, "%s", f())
}
return nil
}

// CustomLog outputs custom level log
func (g *Glg) CustomLog(level string, val ...interface{}) error {
return g.out(g.TagStringToLevel(level), blankFormat(len(val)), val...)
Expand All @@ -808,6 +888,15 @@ func (g *Glg) CustomLogf(level string, format string, val ...interface{}) error
return g.out(g.TagStringToLevel(level), format, val...)
}

// CustomLogFunc outputs custom level log returned from the function
func (g *Glg) CustomLogFunc(level string, f func() string) error {
lv := g.TagStringToLevel(level)
if g.isModeEnable(lv) {
return g.out(lv, "%s", f())
}
return nil
}

// CustomLog outputs custom level log
func CustomLog(level string, val ...interface{}) error {
return glg.out(glg.TagStringToLevel(level), blankFormat(len(val)), val...)
Expand All @@ -818,6 +907,15 @@ func CustomLogf(level string, format string, val ...interface{}) error {
return glg.out(glg.TagStringToLevel(level), format, val...)
}

// CustomLogFunc outputs custom level log returned from the function
func CustomLogFunc(level string, f func() string) error {
lv := TagStringToLevel(level)
if isModeEnable(lv) {
return glg.out(lv, "%s", f())
}
return nil
}

// Print outputs Print log
func (g *Glg) Print(val ...interface{}) error {
return g.out(PRINT, blankFormat(len(val)), val...)
Expand All @@ -833,6 +931,14 @@ func (g *Glg) Printf(format string, val ...interface{}) error {
return g.out(PRINT, format, val...)
}

// PrintFunc outputs Print log returned from the function
func (g *Glg) PrintFunc(f func() string) error {
if g.isModeEnable(PRINT) {
return g.out(PRINT, "%s", f())
}
return nil
}

// Print outputs Print log
func Print(val ...interface{}) error {
return glg.out(PRINT, blankFormat(len(val)), val...)
Expand All @@ -848,6 +954,14 @@ func Printf(format string, val ...interface{}) error {
return glg.out(PRINT, format, val...)
}

// PrintFunc outputs Print log returned from the function
func PrintFunc(f func() string) error {
if isModeEnable(PRINT) {
return glg.out(PRINT, "%s", f())
}
return nil
}

// Error outputs Error log
func (g *Glg) Error(val ...interface{}) error {
return g.out(ERR, blankFormat(len(val)), val...)
Expand All @@ -858,6 +972,14 @@ func (g *Glg) Errorf(format string, val ...interface{}) error {
return g.out(ERR, format, val...)
}

// ErrorFunc outputs Error level log returned from the function
func (g *Glg) ErrorFunc(f func() string) error {
if g.isModeEnable(ERR) {
return g.out(ERR, "%s", f())
}
return nil
}

// Error outputs Error log
func Error(val ...interface{}) error {
return glg.out(ERR, blankFormat(len(val)), val...)
Expand All @@ -868,6 +990,14 @@ func Errorf(format string, val ...interface{}) error {
return glg.out(ERR, format, val...)
}

// ErrorFunc outputs Error level log returned from the function
func ErrorFunc(f func() string) error {
if isModeEnable(ERR) {
return glg.out(ERR, "%s", f())
}
return nil
}

// Fail outputs Failed log
func (g *Glg) Fail(val ...interface{}) error {
return g.out(FAIL, blankFormat(len(val)), val...)
Expand All @@ -878,6 +1008,14 @@ func (g *Glg) Failf(format string, val ...interface{}) error {
return g.out(FAIL, format, val...)
}

// FailFunc outputs Fail level log returned from the function
func (g *Glg) FailFunc(f func() string) error {
if g.isModeEnable(FAIL) {
return g.out(FAIL, "%s", f())
}
return nil
}

// Fail outputs Failed log
func Fail(val ...interface{}) error {
return glg.out(FAIL, blankFormat(len(val)), val...)
Expand All @@ -888,6 +1026,14 @@ func Failf(format string, val ...interface{}) error {
return glg.out(FAIL, format, val...)
}

// FailFunc outputs Fail level log returned from the function
func FailFunc(f func() string) error {
if isModeEnable(FAIL) {
return glg.out(FAIL, "%s", f())
}
return nil
}

// Fatal outputs Failed log and exit program
func (g *Glg) Fatal(val ...interface{}) {
err := g.out(FATAL, blankFormat(len(val)), val...)
Expand Down Expand Up @@ -960,3 +1106,13 @@ func blankFormat(l int) string {
}
return format[:l*3-1]
}

// isModeEnable returns the level has already turned on the logging
func isModeEnable(l LEVEL) bool {
return Get().GetCurrentMode(l) != NONE
}

// isModeEnable returns the level has already turned on the logging
func (g *Glg) isModeEnable(l LEVEL) bool {
return g.GetCurrentMode(l) != NONE
}
Loading

0 comments on commit 4d20227

Please sign in to comment.