Skip to content

Commit

Permalink
Fix wrong caller
Browse files Browse the repository at this point in the history
  • Loading branch information
cirelli94 committed Mar 9, 2020
1 parent 7ea96a3 commit af6ac8c
Showing 1 changed file with 10 additions and 5 deletions.
15 changes: 10 additions & 5 deletions entry.go
Expand Up @@ -180,15 +180,20 @@ func getPackageName(f string) string {

// getCaller retrieves the name of the first non-logrus calling function
func getCaller() *runtime.Frame {

// cache this package's fully-qualified name
callerInitOnce.Do(func() {
pcs := make([]uintptr, 2)
pcs := make([]uintptr, maximumCallerDepth)
_ = runtime.Callers(0, pcs)
logrusPackage = getPackageName(funcName(pcs))

// now that we have the cache, we can skip a minimum count of known-logrus functions
// XXX this is dubious, the number of frames may vary
// dynamic get the package name and the minimum caller depth
for i := 0; i < maximumCallerDepth; i++ {
funcName := runtime.FuncForPC(pcs[i]).Name()
if strings.Contains(funcName, "getCaller") {
logrusPackage = getPackageName(funcName)
break
}
}

minimumCallerDepth = knownLogrusFrames
})

Expand Down

0 comments on commit af6ac8c

Please sign in to comment.