|
|
@@ -262,12 +262,14 @@ func (app *App) handleGetDevices(w http.ResponseWriter, r *http.Request) {
|
|
|
var err error
|
|
|
devices, err = app.storage.GetAllDevices()
|
|
|
if err != nil {
|
|
|
- log.Printf("Warning: failed to get devices from database: %v", err)
|
|
|
- // 降级到从builder获取
|
|
|
+ log.Printf("Error: failed to get devices from database: %v", err)
|
|
|
+ // 降级到 builder获取
|
|
|
devices = app.builder.GetDevices()
|
|
|
}
|
|
|
+ log.Printf("Returning %d devices from storage", len(devices))
|
|
|
} else {
|
|
|
devices = app.builder.GetDevices()
|
|
|
+ log.Printf("Returning %d devices from builder", len(devices))
|
|
|
}
|
|
|
|
|
|
w.Header().Set("Content-Type", "application/json")
|
|
|
@@ -294,20 +296,28 @@ func (app *App) handleAddDevice(w http.ResponseWriter, r *http.Request) {
|
|
|
}
|
|
|
|
|
|
deviceType := models.DeviceType(req.Type)
|
|
|
+ log.Printf("Adding device: %s (type: %s)", req.IP, req.Type)
|
|
|
+
|
|
|
dev, err := device.DiscoverDevice(req.IP, deviceType, req.Username, req.Password)
|
|
|
if err != nil {
|
|
|
+ log.Printf("Failed to discover device %s: %v", req.IP, err)
|
|
|
w.Header().Set("Content-Type", "application/json")
|
|
|
w.WriteHeader(http.StatusInternalServerError)
|
|
|
json.NewEncoder(w).Encode(map[string]string{"message": err.Error()})
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+ log.Printf("Device discovered: %s, interfaces: %d, neighbors: %d",
|
|
|
+ dev.IP, len(dev.Interfaces), len(dev.Neighbors))
|
|
|
+
|
|
|
app.builder.AddDevice(*dev)
|
|
|
|
|
|
// 保存到数据库
|
|
|
if app.storage != nil {
|
|
|
if err := app.storage.SaveDevice(dev); err != nil {
|
|
|
- log.Printf("Warning: failed to save device to database: %v", err)
|
|
|
+ log.Printf("Error: failed to save device %s to database: %v", req.IP, err)
|
|
|
+ } else {
|
|
|
+ log.Printf("Device %s saved to database successfully", req.IP)
|
|
|
}
|
|
|
}
|
|
|
|