utils.go 408 B

1234567891011121314151617181920
  1. package utils
  2. import (
  3. "fmt"
  4. "regexp"
  5. "runtime"
  6. )
  7. var goSrcRegexp = regexp.MustCompile(`/gorm/.*.go`)
  8. var goTestRegexp = regexp.MustCompile(`/gorm/.*test.go`)
  9. func FileWithLineNum() string {
  10. for i := 2; i < 15; i++ {
  11. _, file, line, ok := runtime.Caller(i)
  12. if ok && (!goSrcRegexp.MatchString(file) || goTestRegexp.MatchString(file)) {
  13. return fmt.Sprintf("%v:%v", file, line)
  14. }
  15. }
  16. return ""
  17. }