From bb159ce7da2cc78be730eca258371c9876040afb Mon Sep 17 00:00:00 2001
From: Manuel Kieweg <mail@manuelkieweg.de>
Date: Thu, 1 Oct 2020 12:11:52 +0100
Subject: [PATCH] logger prints calling function

---
 log/logger.go | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/log/logger.go b/log/logger.go
index cb5273319..2e856d3b7 100644
--- a/log/logger.go
+++ b/log/logger.go
@@ -103,12 +103,18 @@ func log(level Level, args ...interface{}) {
 	defer l.lock.Unlock()
 	if level <= l.Loglevel {
 		l.builder.WriteString(time.Now().Format(time.RFC3339))
+		l.builder.WriteRune('\t')
 		l.builder.WriteString(prefix(level))
-		file, function, line := callers()
-		l.builder.WriteString(file)
+		l.builder.WriteRune('\t')
+		function, line := callers()
+		functionSplitted := strings.SplitAfter(function, "/")
+		function = functionSplitted[len(functionSplitted) - 1]
 		l.builder.WriteString(function)
+		l.builder.WriteRune(':')
 		l.builder.WriteString(strconv.Itoa(line))
+		l.builder.WriteRune('\t')
 		l.builder.WriteString(fmt.Sprint(args...))
+		l.builder.WriteRune('\n')
 		_,err := l.Out.Write([]byte(l.builder.String()))
 		if err != nil {
 			panic(err)
@@ -116,12 +122,12 @@ func log(level Level, args ...interface{}) {
 	}
 }
 
-func callers() (string, string, int) {
+func callers() (string, int) {
 	pc := make([]uintptr, 15)
-	n := runtime.Callers(0, pc)
+	n := runtime.Callers(4, pc)
 	frames := runtime.CallersFrames(pc[:n])
 	frame, _ := frames.Next()
-	return frame.File, frame.Function, frame.Line
+	return frame.Function, frame.Line
 }
 
 func prefix(level Level) string {
-- 
GitLab