查询日志记录
parent
15f14c758c
commit
c080d456bf
|
@ -7,10 +7,8 @@ import java.io.*;
|
|||
import java.lang.reflect.Field;
|
||||
import java.net.Socket;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
|
@ -263,6 +261,17 @@ class ClientHandler implements Runnable {
|
|||
return back;
|
||||
}
|
||||
|
||||
public String getDate(){
|
||||
Date date = new Date();
|
||||
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
return simpleDateFormat.format(date);
|
||||
}
|
||||
|
||||
public String insertBookInfo(String clientMessage){
|
||||
String substring = clientMessage.substring(clientMessage.indexOf("BookInfo(") + 9, clientMessage.indexOf(")"));
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
|
@ -273,6 +282,10 @@ class ClientHandler implements Runnable {
|
|||
String clientId = br.readLine();
|
||||
System.out.println("客户端名称:" + clientId);
|
||||
String clientMessage;
|
||||
// 创建一个FileWriter对象来写入文件
|
||||
FileWriter fileWriter = new FileWriter("D:\\work\\lx\\src\\main\\java\\com\\bwie\\lx\\txt\\log.txt");
|
||||
// 创建一个BufferedWriter对象包装FileWriter,提高写入性能
|
||||
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
|
||||
while ((clientMessage = br.readLine()) != null) {
|
||||
if (clientMessage.equals("exit")) {
|
||||
System.out.println(clientId + "已断开连接");
|
||||
|
@ -280,7 +293,8 @@ class ClientHandler implements Runnable {
|
|||
}
|
||||
System.out.println("来自" + clientId + "的消息:" + clientMessage);
|
||||
// 在这里处理收到的消息,并发送响应给客户端
|
||||
|
||||
bufferedWriter.write(getDate()+": 接收到的消息 -> "+clientMessage);
|
||||
bufferedWriter.newLine();
|
||||
//判断请求是否为查询
|
||||
if (clientMessage.endsWith(";")){
|
||||
pw.println("error:违法字符串:\";\"");
|
||||
|
@ -291,27 +305,95 @@ class ClientHandler implements Runnable {
|
|||
continue;
|
||||
}
|
||||
if (clientMessage.startsWith("select")){
|
||||
bufferedWriter.write(getDate()+": 匹配到的动作 -> 查询(select)");
|
||||
bufferedWriter.newLine();
|
||||
long staTime = new Date().getTime();
|
||||
String bookString = getBookString(clientMessage);
|
||||
long endTime = new Date().getTime();
|
||||
if (bookString.contains("error")){
|
||||
bufferedWriter.write(getDate()+": 解析消息: "+bookString.substring(bookString.indexOf("error:")+6));
|
||||
bufferedWriter.newLine();
|
||||
bufferedWriter.write(getDate()+": [查询]操作执行完成耗时: "+(endTime-staTime)+"MS, [查询]结果: "+bookString.substring(bookString.indexOf("error:")+6));
|
||||
bufferedWriter.newLine();
|
||||
}else{
|
||||
bufferedWriter.write(getDate()+": 解析消息: 无问题");
|
||||
bufferedWriter.newLine();
|
||||
bufferedWriter.write(getDate()+": [查询]操作执行完成耗时: "+(endTime-staTime)+"MS, [查询]结果: "+bookString.substring(bookString.indexOf("success:")+8));
|
||||
bufferedWriter.newLine();
|
||||
}
|
||||
pw.println(bookString);
|
||||
} else
|
||||
//判断请求是否为修改
|
||||
if (clientMessage.startsWith("update")){
|
||||
bufferedWriter.write(getDate()+": 匹配到的动作 -> 修改(update)");
|
||||
bufferedWriter.newLine();
|
||||
long staTime = new Date().getTime();
|
||||
String bookString="";
|
||||
long endTime = new Date().getTime();
|
||||
if (bookString.contains("error")){
|
||||
bufferedWriter.write(getDate()+": 解析消息: "+bookString.substring(bookString.indexOf("error:")+6));
|
||||
bufferedWriter.newLine();
|
||||
bufferedWriter.write(getDate()+": [修改]操作执行完成耗时: "+(endTime-staTime)+"MS, [修改]结果: "+bookString.substring(bookString.indexOf("error:")+6));
|
||||
bufferedWriter.newLine();
|
||||
}else{
|
||||
bufferedWriter.write(getDate()+": 解析消息: 无问题");
|
||||
bufferedWriter.newLine();
|
||||
bufferedWriter.write(getDate()+": [修改]操作执行完成耗时: "+(endTime-staTime)+"MS, [修改]结果: 修改成功");
|
||||
bufferedWriter.newLine();
|
||||
}
|
||||
pw.println("success:修改成功");
|
||||
} else
|
||||
//判断请求是否为删除
|
||||
if (clientMessage.startsWith("delete")){
|
||||
bufferedWriter.write(getDate()+": 匹配到的动作 -> 删除(delete)");
|
||||
bufferedWriter.newLine();
|
||||
long staTime = new Date().getTime();
|
||||
String bookString="";
|
||||
long endTime = new Date().getTime();
|
||||
if (bookString.contains("error")){
|
||||
bufferedWriter.write(getDate()+": 解析消息: "+bookString.substring(bookString.indexOf("error:")+6));
|
||||
bufferedWriter.newLine();
|
||||
bufferedWriter.write(getDate()+": [删除]操作执行完成耗时: "+(endTime-staTime)+"MS, [删除结果: "+bookString.substring(bookString.indexOf("error:")+6));
|
||||
bufferedWriter.newLine();
|
||||
}else{
|
||||
bufferedWriter.write(getDate()+": 解析消息: 无问题");
|
||||
bufferedWriter.newLine();
|
||||
bufferedWriter.write(getDate()+": [删除]操作执行完成耗时: "+(endTime-staTime)+"MS, [删除]结果: 删除成功");
|
||||
bufferedWriter.newLine();
|
||||
}
|
||||
pw.println("success:删除成功");
|
||||
} else
|
||||
//判断请求是否为添加
|
||||
if (clientMessage.startsWith("insert")){
|
||||
bufferedWriter.write(getDate()+": 匹配到的动作 -> 添加(insert)");
|
||||
bufferedWriter.newLine();
|
||||
long staTime = new Date().getTime();
|
||||
String bookString=insertBookInfo(clientMessage);
|
||||
long endTime = new Date().getTime();
|
||||
if (bookString.contains("error")){
|
||||
bufferedWriter.write(getDate()+": 解析消息: "+bookString.substring(bookString.indexOf("error:")+6));
|
||||
bufferedWriter.newLine();
|
||||
bufferedWriter.write(getDate()+": [添加]操作执行完成耗时: "+(endTime-staTime)+"MS, [添加]结果: "+bookString.substring(bookString.indexOf("error:")+6));
|
||||
bufferedWriter.newLine();
|
||||
}else{
|
||||
bufferedWriter.write(getDate()+": 解析消息: 无问题");
|
||||
bufferedWriter.newLine();
|
||||
bufferedWriter.write(getDate()+": [添加]操作执行完成耗时: "+(endTime-staTime)+"MS, [添加]结果: 添加成功");
|
||||
bufferedWriter.newLine();
|
||||
}
|
||||
pw.println("success:添加成功");
|
||||
} else {
|
||||
bufferedWriter.write(getDate()+": 匹配到的动作 -> 无");
|
||||
bufferedWriter.newLine();
|
||||
pw.println("error:请求格式错误");
|
||||
bufferedWriter.write(getDate()+": 解析消息: -> error:请求格式错误");
|
||||
bufferedWriter.newLine();
|
||||
}
|
||||
}
|
||||
|
||||
br.close();
|
||||
pw.close();
|
||||
bufferedWriter.close();
|
||||
clientSocket.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
2024-04-18 16:48:07: 接收到的消息 -> select * from bookInfo;
|
||||
2024-04-18 16:48:07: 匹配到的动作 -> 查询(select)
|
||||
2024-04-18 16:48:07: 解析消息: 无问题
|
||||
2024-04-18 16:48:07: [查询]操作执行完成耗时: 40MS, [查询]结果: id|name|author|type|country|price;1|三国演义|罗贯中|四大名著|中国|19.68;2|java入门到高薪|张艺兴|技术书籍|中国|36.89;3|javaweb|范雅婷|技术书籍|中国|65.32;
|
||||
2024-04-18 16:48:16: 接收到的消息 -> delete from bookInfo;
|
||||
2024-04-18 16:48:16: 匹配到的动作 -> 删除(delete)
|
||||
2024-04-18 16:48:16: 解析消息: 无问题
|
||||
2024-04-18 16:48:16: [删除]操作执行完成耗时: 0MS, [删除]结果: 删除成功
|
||||
2024-04-18 16:48:41: 接收到的消息 -> select * from bookInfo;
|
||||
2024-04-18 16:48:41: 匹配到的动作 -> 查询(select)
|
||||
2024-04-18 16:48:41: 解析消息: 无问题
|
||||
2024-04-18 16:48:41: [查询]操作执行完成耗时: 1MS, [查询]结果: id|name|author|type|country|price;1|三国演义|罗贯中|四大名著|中国|19.68;2|java入门到高薪|张艺兴|技术书籍|中国|36.89;3|javaweb|范雅婷|技术书籍|中国|65.32;
|
Loading…
Reference in New Issue