log.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package utilities
  2. import (
  3. "os"
  4. "time"
  5. )
  6. type Error struct{
  7. msg string
  8. }
  9. var err *Error
  10. func NewError()*Error{
  11. err = &Error{}
  12. return err
  13. }
  14. func (e *Error)GetMsg()string{
  15. return e.msg
  16. }
  17. func todayFilename()string{
  18. today := time.Now().Format("2006-01-02")
  19. return today + ".log"
  20. }
  21. // 创建打开文件
  22. func getLogFile(content string){
  23. path, _ := os.Getwd()
  24. logsPath := path+"/logs"
  25. if !isExist(logsPath) {
  26. err := os.Mkdir(logsPath,os.ModePerm)
  27. if err != nil {
  28. panic(err)
  29. }
  30. }
  31. filename := logsPath+"/"+todayFilename()
  32. log,err := os.OpenFile(filename, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
  33. defer log.Close()
  34. if err != nil {
  35. panic(err)
  36. }
  37. str := []byte(content)
  38. // 写入文件
  39. n, err := log.Write(str)
  40. if err == nil && n != len(str) {
  41. println(`错误代码:`, n)
  42. panic(err)
  43. }
  44. }
  45. func WriteLog(content string, grade string ){
  46. grade = "["+grade+"]"
  47. createTime := time.Now().Format("15:04:05")
  48. getLogFile("\n"+grade+" "+createTime+"\n"+" "+content)
  49. err.msg = content
  50. }
  51. func isExist(f string) bool {
  52. _, err := os.Stat(f)
  53. return err == nil || os.IsExist(err)
  54. }