// Copyright 2024 The Gitea Authors. All rights reserved. // SPDX-License-Identifier: MIT package util import ( "runtime" "strings" ) const isOSWindows = runtime.GOOS == "windows" func CallerFuncName(optSkipParent ...int) string { pc := make([]uintptr, 1) skipParent := 0 if len(optSkipParent) > 0 { skipParent = optSkipParent[0] } runtime.Callers(skipParent+1 /*this*/ +1 /*runtime*/, pc) funcName := runtime.FuncForPC(pc[0]).Name() if pos := strings.LastIndex(funcName, "/"); pos >= 0 { // only keep the last package name and func name funcName = funcName[pos+1:] } return funcName }