device.go 934 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package iotLog
  2. import (
  3. "IotAdmin/core/logger"
  4. "IotAdmin/core/sdk/config"
  5. "IotAdmin/core/tools/writer"
  6. "log"
  7. )
  8. // SetupDeviceLogger 设置设备日志组件
  9. func SetupDeviceLogger(sn string) logger.Logger {
  10. path := getDeviceLogPath()
  11. path += "/" + sn
  12. logCap := config.LoggerConfig.Cap
  13. if logCap == 0 {
  14. logCap = 1024
  15. }
  16. output, err := writer.NewFileWriter(
  17. writer.WithPath(path),
  18. writer.WithCap(logCap<<10),
  19. writer.WithSuffix("log"),
  20. )
  21. if err != nil {
  22. log.Printf("device logger setup error: %s \r\n", err.Error())
  23. }
  24. level := logger.DebugLevel
  25. if config.ApplicationConfig.Mode == "prod" {
  26. level = logger.InfoLevel
  27. }
  28. return logger.NewLogger(logger.WithLevel(level), logger.WithOutput(output), logger.WithName(sn))
  29. }
  30. func getDeviceLogPath() string {
  31. path := config.LoggerConfig.Path
  32. if path == "" {
  33. path = "_logs/"
  34. } else if path[len(path)-1] != '/' {
  35. path += "/"
  36. }
  37. path += "device"
  38. return path
  39. }