init
This commit is contained in:
46
day02/src/com/inmind/student/黄越/LogServer.java
Normal file
46
day02/src/com/inmind/student/黄越/LogServer.java
Normal 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());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user