testlog.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package main
  2. import (
  3. "fmt"
  4. "log"
  5. "os"
  6. "runtime"
  7. "strconv"
  8. )
  9. func main() {
  10. logFile, err := os.OpenFile("test.log", os.O_RDWR | os.O_CREATE, 0777)
  11. if err != nil {
  12. fmt.Printf("open file error=%s\r\n", err.Error())
  13. os.Exit(-1)
  14. }
  15. defer logFile.Close()
  16. //logger:=log.New(logFile,"\r\n", log.Ldate | log.Ltime | log.Llongfile)
  17. logger:=log.New(logFile,"", log.Ldate|log.Ltime|log.Lshortfile)
  18. logger.Println("normal log 1")
  19. logger.Println("normal log 2")
  20. logger.Output(2, fmt.Sprintln("debug", "mmmmmmmmmmmmmmm"))
  21. //logger.Info("fatal 1")
  22. //logger.Warn("fatal 2")
  23. _, file, line, _ := runtime.Caller(2)
  24. short := file
  25. for i := len(file) - 1; i > 0; i-- {
  26. if file[i] == '/' {
  27. short = file[i+1:]
  28. break
  29. }
  30. }
  31. file = short
  32. log.Println(file, strconv.Itoa(line),"11111", "ccccccccccccccc")
  33. alllog()
  34. alllog2()
  35. alllog3()
  36. }
  37. func alllog2(){
  38. alllog()
  39. }
  40. func alllog3(){
  41. alllog2()
  42. }
  43. func alllog(){
  44. _, file, line, _ := runtime.Caller(2)
  45. short := file
  46. for i := len(file) - 1; i > 0; i-- {
  47. if file[i] == '/' {
  48. short = file[i+1:]
  49. break
  50. }
  51. }
  52. file = short
  53. log.Println(file, strconv.Itoa(line), "1111","ddddddddddddddddddd")
  54. }