logger.go 986 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package common
  2. import (
  3. "fmt"
  4. "github.com/gin-gonic/gin"
  5. "io"
  6. "log"
  7. "os"
  8. "path/filepath"
  9. "time"
  10. )
  11. func SetupGinLog() {
  12. if *LogDir != "" {
  13. commonLogPath := filepath.Join(*LogDir, "common.log")
  14. errorLogPath := filepath.Join(*LogDir, "error.log")
  15. commonFd, err := os.OpenFile(commonLogPath, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
  16. if err != nil {
  17. log.Fatal("failed to open log file")
  18. }
  19. errorFd, err := os.OpenFile(errorLogPath, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
  20. if err != nil {
  21. log.Fatal("failed to open log file")
  22. }
  23. gin.DefaultWriter = io.MultiWriter(os.Stdout, commonFd)
  24. gin.DefaultErrorWriter = io.MultiWriter(os.Stderr, errorFd)
  25. }
  26. }
  27. func SysLog(s string) {
  28. t := time.Now()
  29. _, _ = fmt.Fprintf(gin.DefaultWriter, "[SYS] %v | %s \n", t.Format("2006/01/02 - 15:04:05"), s)
  30. }
  31. func FatalLog(v ...any) {
  32. t := time.Now()
  33. _, _ = fmt.Fprintf(gin.DefaultErrorWriter, "[FATAL] %v | %v \n", t.Format("2006/01/02 - 15:04:05"), v)
  34. os.Exit(1)
  35. }