logger.go 825 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package cert
  2. import (
  3. "fmt"
  4. "github.com/uozi-tech/cosy/logger"
  5. "github.com/0xJacky/Nginx-UI/model"
  6. "strings"
  7. "time"
  8. )
  9. type Logger struct {
  10. buffer []string
  11. cert *model.Cert
  12. }
  13. func (t *Logger) SetCertModel(cert *model.Cert) {
  14. t.cert = cert
  15. }
  16. func (t *Logger) Info(text string) {
  17. t.buffer = append(t.buffer, strings.TrimSpace(text))
  18. logger.Info("AutoCert", strings.TrimSpace(text))
  19. }
  20. func (t *Logger) Error(err error) {
  21. t.buffer = append(t.buffer, fmt.Sprintf("%s [Error] %s",
  22. time.Now().Format("2006/01/02 15:04:05"),
  23. strings.TrimSpace(err.Error()),
  24. ))
  25. logger.Error("AutoCert", err)
  26. }
  27. func (t *Logger) Exit() {
  28. if t.cert == nil {
  29. return
  30. }
  31. _ = t.cert.Updates(&model.Cert{
  32. Log: t.ToString(),
  33. })
  34. }
  35. func (t *Logger) ToString() (content string) {
  36. content = strings.Join(t.buffer, "\n")
  37. return
  38. }