logger.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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 SysError(s string) {
  32. t := time.Now()
  33. _, _ = fmt.Fprintf(gin.DefaultErrorWriter, "[SYS] %v | %s \n", t.Format("2006/01/02 - 15:04:05"), s)
  34. }
  35. func FatalLog(v ...any) {
  36. t := time.Now()
  37. _, _ = fmt.Fprintf(gin.DefaultErrorWriter, "[FATAL] %v | %v \n", t.Format("2006/01/02 - 15:04:05"), v)
  38. os.Exit(1)
  39. }