diff --git a/internal_logger_begin.go b/internal_logger_begin.go new file mode 100644 index 0000000..11c9d4b --- /dev/null +++ b/internal_logger_begin.go @@ -0,0 +1,25 @@ +package flog + +import ( + "runtime" +) + +func (receiver internalLogger) Begin(a ...interface{}) Logger { + + var funcName string = "<([-UNKNOWN-])>" + { + pc, _, _, ok := runtime.Caller(1) + if ok { + fn := runtime.FuncForPC(pc) + funcName = fn.Name() + } + } + + logger := receiver.Prefix(funcName) + + a = append([]interface{}{"BEGIN"}, a...) + + logger.Debug(a...) + + return logger +} diff --git a/internal_logger_end.go b/internal_logger_end.go new file mode 100644 index 0000000..d0160c7 --- /dev/null +++ b/internal_logger_end.go @@ -0,0 +1,7 @@ +package flog + +func (receiver internalLogger) End(a ...interface{}) { + a = append([]interface{}{"END"}, a...) + + receiver.Debug(a...) +} diff --git a/logger.go b/logger.go index 5806f14..d6f2e13 100644 --- a/logger.go +++ b/logger.go @@ -7,12 +7,16 @@ type Logger interface { UnmuteAlert() AlertMuted() bool + Begin(...interface{}) Logger + Debug(...interface{}) Debugf(string, ...interface{}) MuteDebug() UnmuteDebug() DebugMuted() bool + End(...interface{}) + Error(...interface{}) error Errorf(string, ...interface{}) error MuteError()