This commit is contained in:
2025-12-21 17:24:54 +08:00
commit e8c50a3d78
660 changed files with 29599 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
package com.inmind.student.黄越;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Map;
public class LogServer {
public static void main(String[] args) {
try (ServerSocket serverSocket = new ServerSocket(8080)) {
System.out.println("LogServer started, listening on port 8080");
while (true) {
Socket socket = serverSocket.accept();
try (ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream())) {
Map<String, Long> levelCountMap = (Map<String, Long>) ois.readObject();
Map<String, Long> errorModuleCountMap = (Map<String, Long>) ois.readObject();
Log[] earliestLogs = (Log[]) ois.readObject();
System.out.println("1. 按级别统计:");
levelCountMap.forEach((level, count) -> {
String color = "ERROR".equals(level) ? "\u001B[43m" : ("WARNING".equals(level) ? "\u001B[43m" : "\u001B[37m");
System.out.println(color + level + ": " + count + "" + "\u001B[0m");
});
System.out.println("\n2. 按模块错误统计:");
errorModuleCountMap.forEach((module, count) -> System.out.println(module + ": " + count + "条错误"));
System.out.println("\n3. 最早的3条日志");
for (int i = 0; i < earliestLogs.length; i++) {
Log log = earliestLogs[i];
String color = i == 1 ? "\u001B[43m" : (i == 2 ? "\u001B[43m" : "\u001B[37m");
System.out.println(color + log + "\u001B[0m");
}
oos.writeObject("上报成功");
} catch (Exception e) {
System.out.println("Server error: " + e.getMessage());
}
}
} catch (Exception e) {
System.out.println("Server socket error: " + e.getMessage());
}
}
}