You've already forked VptPassiveAdapter
日志
This commit is contained in:
64
main.go
64
main.go
@@ -5,12 +5,13 @@ import (
|
||||
"ZhenTuLocalPassiveAdapter/config"
|
||||
"ZhenTuLocalPassiveAdapter/core"
|
||||
"ZhenTuLocalPassiveAdapter/dto"
|
||||
"ZhenTuLocalPassiveAdapter/logger"
|
||||
"ZhenTuLocalPassiveAdapter/telemetry"
|
||||
"context"
|
||||
"go.opentelemetry.io/otel"
|
||||
"go.opentelemetry.io/otel/attribute"
|
||||
"go.opentelemetry.io/otel/codes"
|
||||
"log"
|
||||
"go.uber.org/zap"
|
||||
"os"
|
||||
"time"
|
||||
)
|
||||
@@ -28,63 +29,72 @@ func startTask(device config.DeviceMapping, task dto.Task) {
|
||||
fo, err := core.HandleTask(ctx, device, task)
|
||||
if err != nil {
|
||||
span.SetStatus(codes.Error, "处理任务失败")
|
||||
log.Printf("处理任务失败, TaskID:【%s】, DeviceNo: %s, 错误: %v\n", task.TaskID, task.DeviceNo, err)
|
||||
logger.Error("处理任务失败",
|
||||
zap.String("taskID", task.TaskID),
|
||||
zap.String("deviceNo", task.DeviceNo),
|
||||
zap.Error(err))
|
||||
api.ReportTaskFailure(ctx, task.TaskID)
|
||||
return
|
||||
}
|
||||
span.SetAttributes(attribute.String("fileUrl", fo.URL))
|
||||
log.Printf("处理任务成功, TaskID:【%s】, DeviceNo: %s\n", task.TaskID, task.DeviceNo)
|
||||
logger.Info("处理任务成功",
|
||||
zap.String("taskID", task.TaskID),
|
||||
zap.String("deviceNo", task.DeviceNo))
|
||||
err = api.UploadTaskFile(ctx, task, *fo)
|
||||
if err != nil {
|
||||
span.SetStatus(codes.Error, "上传文件失败")
|
||||
log.Printf("上传文件失败, TaskID:【%s】, DeviceNo: %s, 错误: %v\n", task.TaskID, task.DeviceNo, err)
|
||||
logger.Error("上传文件失败",
|
||||
zap.String("taskID", task.TaskID),
|
||||
zap.String("deviceNo", task.DeviceNo),
|
||||
zap.Error(err))
|
||||
api.ReportTaskFailure(ctx, task.TaskID)
|
||||
return
|
||||
}
|
||||
result := api.ReportTaskSuccess(ctx, task.TaskID, fo)
|
||||
if !result {
|
||||
span.SetStatus(codes.Error, "上报任务成功失败")
|
||||
log.Printf("上报任务成功失败, TaskID:【%s】, DeviceNo: %s, 错误: %v\n", task.TaskID, task.DeviceNo, err)
|
||||
logger.Error("上报任务成功失败",
|
||||
zap.String("taskID", task.TaskID),
|
||||
zap.String("deviceNo", task.DeviceNo),
|
||||
zap.Error(err))
|
||||
return
|
||||
}
|
||||
span.SetStatus(codes.Ok, "上传文件成功")
|
||||
log.Printf("上传文件成功, TaskID:【%s】, DeviceNo: %s\n", task.TaskID, task.DeviceNo)
|
||||
logger.Info("上传文件成功",
|
||||
zap.String("taskID", task.TaskID),
|
||||
zap.String("deviceNo", task.DeviceNo))
|
||||
}
|
||||
|
||||
func main() {
|
||||
err := config.LoadConfig()
|
||||
// 初始化日志
|
||||
err := logger.Init()
|
||||
if err != nil {
|
||||
log.Println("加载配置文件失败:", err)
|
||||
panic(err)
|
||||
}
|
||||
defer logger.Sync()
|
||||
|
||||
err = config.LoadConfig()
|
||||
if err != nil {
|
||||
logger.Fatal("加载配置文件失败", zap.Error(err))
|
||||
return
|
||||
}
|
||||
// 日志文件路径
|
||||
logFilePath := "app.log"
|
||||
ctx := context.Background()
|
||||
shutdown, err := telemetry.InitTelemetry(ctx)
|
||||
if err != nil {
|
||||
log.Fatalf("Failed to initialize telemetry: %v", err)
|
||||
logger.Fatal("Failed to initialize telemetry", zap.Error(err))
|
||||
return
|
||||
}
|
||||
defer shutdown(ctx)
|
||||
// 创建或打开日志文件
|
||||
logFile, err := os.OpenFile(logFilePath, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
|
||||
if err != nil {
|
||||
log.Fatalf("Failed to open log file: %v", err)
|
||||
}
|
||||
defer logFile.Close()
|
||||
|
||||
// 设置日志输出到文件
|
||||
log.SetOutput(logFile)
|
||||
if config.Config.Record.Storage.Type == "local" {
|
||||
_, err = os.Stat(config.Config.Record.Storage.Path)
|
||||
if err != nil {
|
||||
log.Println("录像文件夹配置失败", err)
|
||||
logger.Error("录像文件夹配置失败", zap.Error(err))
|
||||
return
|
||||
} else {
|
||||
log.Println("录像文件夹配置有效")
|
||||
logger.Info("录像文件夹配置有效")
|
||||
}
|
||||
} else {
|
||||
log.Println("录像文件夹配置为OSS")
|
||||
logger.Info("录像文件夹配置为OSS")
|
||||
}
|
||||
// 每两秒定时执行
|
||||
for {
|
||||
@@ -92,7 +102,11 @@ func main() {
|
||||
tasks, err := api.SyncTask()
|
||||
if err == nil {
|
||||
for _, task := range tasks {
|
||||
log.Printf("开始处理任务, TaskID:【%s】,DeviceNo: %s,开始时间: %s,结束时间: %s\n", task.TaskID, task.DeviceNo, task.StartTime, task.EndTime)
|
||||
logger.Info("开始处理任务",
|
||||
zap.String("taskID", task.TaskID),
|
||||
zap.String("deviceNo", task.DeviceNo),
|
||||
zap.String("startTime", task.StartTime.Format("2006-01-02 15:04:05")),
|
||||
zap.String("endTime", task.EndTime.Format("2006-01-02 15:04:05")))
|
||||
// 处理任务
|
||||
for _, device := range config.Config.Devices {
|
||||
if device.DeviceNo == task.DeviceNo {
|
||||
@@ -103,7 +117,7 @@ func main() {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
log.Println("同步任务失败:", err)
|
||||
logger.Error("同步任务失败", zap.Error(err))
|
||||
}
|
||||
// 等待两秒
|
||||
<-time.After(2 * time.Second)
|
||||
|
Reference in New Issue
Block a user