package iotLog import ( "IotAdmin/core/logger" "IotAdmin/core/sdk/config" "IotAdmin/core/tools/writer" "log" ) // SetupDeviceLogger 设置设备日志组件 func SetupDeviceLogger(sn string) logger.Logger { path := getDeviceLogPath() path += "/" + sn logCap := config.LoggerConfig.Cap if logCap == 0 { logCap = 1024 } output, err := writer.NewFileWriter( writer.WithPath(path), writer.WithCap(logCap<<10), writer.WithSuffix("log"), ) if err != nil { log.Printf("device logger setup error: %s \r\n", err.Error()) } level := logger.DebugLevel if config.ApplicationConfig.Mode == "prod" { level = logger.InfoLevel } return logger.NewLogger(logger.WithLevel(level), logger.WithOutput(output), logger.WithName(sn)) } func getDeviceLogPath() string { path := config.LoggerConfig.Path if path == "" { path = "_logs/" } else if path[len(path)-1] != '/' { path += "/" } path += "device" return path }