package main import ( "fmt" "log" "os" "runtime" "strconv" ) func main() { logFile, err := os.OpenFile("test.log", os.O_RDWR | os.O_CREATE, 0777) if err != nil { fmt.Printf("open file error=%s\r\n", err.Error()) os.Exit(-1) } defer logFile.Close() //logger:=log.New(logFile,"\r\n", log.Ldate | log.Ltime | log.Llongfile) logger:=log.New(logFile,"", log.Ldate|log.Ltime|log.Lshortfile) logger.Println("normal log 1") logger.Println("normal log 2") logger.Output(2, fmt.Sprintln("debug", "mmmmmmmmmmmmmmm")) //logger.Info("fatal 1") //logger.Warn("fatal 2") _, file, line, _ := runtime.Caller(2) short := file for i := len(file) - 1; i > 0; i-- { if file[i] == '/' { short = file[i+1:] break } } file = short log.Println(file, strconv.Itoa(line),"11111", "ccccccccccccccc") alllog() alllog2() alllog3() } func alllog2(){ alllog() } func alllog3(){ alllog2() } func alllog(){ _, file, line, _ := runtime.Caller(2) short := file for i := len(file) - 1; i > 0; i-- { if file[i] == '/' { short = file[i+1:] break } } file = short log.Println(file, strconv.Itoa(line), "1111","ddddddddddddddddddd") }