logger.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. package util
  2. import (
  3. "log"
  4. "os"
  5. )
  6. // Logger logger
  7. type Logger struct {
  8. FP *os.File
  9. Log *log.Logger
  10. }
  11. var (
  12. deflog *Logger
  13. )
  14. // NewDefaultLogger defult logger
  15. func NewDefaultLogger(path string) (*Logger, error) {
  16. var err error
  17. fp := &os.File{}
  18. if fp, err = os.OpenFile(path, os.O_RDWR|os.O_APPEND|os.O_CREATE, 0666); err != nil {
  19. return nil, err
  20. }
  21. deflog = &Logger{}
  22. deflog.FP = fp
  23. deflog.Log = log.New(fp, "[INFO]", log.Ldate|log.Ltime)
  24. return deflog, err
  25. }
  26. // CloseDefaultLogger close
  27. func CloseDefaultLogger() error {
  28. return deflog.FP.Close()
  29. }
  30. // LogInfo log info
  31. func LogInfo(v ...interface{}) {
  32. deflog.Log.SetPrefix("[INFO]")
  33. deflog.Log.Println(v)
  34. }
  35. // LogDebug log debug
  36. func LogDebug(v ...interface{}) {
  37. deflog.Log.SetPrefix("[DEBUG]")
  38. deflog.Log.Println(v)
  39. }
  40. // NewLogger new
  41. func NewLogger(path string) (logger *Logger, err error) {
  42. fp := &os.File{}
  43. if fp, err = os.OpenFile(path, os.O_RDWR|os.O_APPEND|os.O_CREATE, os.ModePerm); err != nil {
  44. return
  45. }
  46. logger.FP = fp
  47. logger.Log = log.New(fp, "[INFO]", log.Ldate|log.Ltime)
  48. return
  49. }
  50. // Close close
  51. func (logger Logger) Close() error {
  52. return logger.FP.Close()
  53. }
  54. // Info log info
  55. func (logger Logger) Info(v ...interface{}) {
  56. logger.Log.SetPrefix("[INFO]")
  57. logger.Log.Println(v)
  58. }
  59. // Debug log debug
  60. func (logger Logger) Debug(v ...interface{}) {
  61. logger.Log.SetPrefix("[DEBUG]")
  62. logger.Log.Println(v)
  63. }