LogService.java 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. package com.miniframe.disaster.service;
  2. import com.miniframe.core.ext.UtilTools;
  3. import com.miniframe.model.system.DAccident;
  4. import com.miniframe.template.TemplateGenerator;
  5. import com.miniframe.tools.XIFileUtils;
  6. import com.miniframe.websocket.WebsocketEndPoint;
  7. import java.io.BufferedWriter;
  8. import java.io.File;
  9. import java.io.FileWriter;
  10. import java.io.IOException;
  11. import java.util.concurrent.CompletableFuture;
  12. /**
  13. * 日志存储
  14. */
  15. public class LogService {
  16. /**
  17. * 创建文件
  18. * @param accident
  19. * @return
  20. */
  21. public static File createLog(DAccident accident){
  22. String filePath =TemplateGenerator.BPATH+"/"+accident.getId()+"/"+accident.getJid()+"/"+accident.getStype().toLowerCase()+"/log.txt";
  23. XIFileUtils.mkdir(TemplateGenerator.BPATH);
  24. XIFileUtils.mkdir(TemplateGenerator.BPATH+"/"+accident.getId());
  25. XIFileUtils.mkdir(TemplateGenerator.BPATH+"/"+accident.getId()+"/"+accident.getJid());
  26. XIFileUtils.mkdir(TemplateGenerator.BPATH+"/"+accident.getId()+"/"+accident.getJid()+"/"+accident.getStype().toLowerCase());
  27. File file =new File(filePath);
  28. return file;
  29. }
  30. /**
  31. * 清空文件
  32. * @param accident
  33. */
  34. public static void clearLog(DAccident accident){
  35. String filePath =TemplateGenerator.BPATH+"/"+accident.getId()+"/"+accident.getJid()+"/"+accident.getStype().toLowerCase()+"/log.txt";
  36. FileWriter writer = null;
  37. try {
  38. writer = new FileWriter(filePath);
  39. writer.write(""); // 将内容设置为空字符串即可清空文件
  40. writer.close();
  41. } catch (IOException e) {
  42. e.printStackTrace();
  43. }
  44. }
  45. /**
  46. * 文件内容追加
  47. * @param
  48. */
  49. public static void addLog(Integer aid,Integer jid,String stype,String log){
  50. String filePath =TemplateGenerator.BPATH+"/"+aid+"/"+jid+"/"+stype.toLowerCase()+"/log.txt";
  51. FileWriter writer = null;
  52. try {
  53. writer = new FileWriter(filePath,true);
  54. BufferedWriter bwriter = new BufferedWriter(writer);
  55. bwriter.write(log); // 将内容写入文件末尾
  56. bwriter.newLine();
  57. bwriter.close();
  58. writer.close();
  59. } catch (IOException e) {
  60. e.printStackTrace();
  61. }
  62. CompletableFuture<Void> cf = CompletableFuture.supplyAsync(()->{
  63. System.out.println("s消息发送:aid:"+aid+"--log:"+log);
  64. WebsocketEndPoint webs = (WebsocketEndPoint) UtilTools.getBean("websocketEndPoint");
  65. webs.sendMessageToUser(String.valueOf(aid),log);
  66. System.out.println("d消息发送:aid:"+aid+"--log:"+log);
  67. return null;
  68. });
  69. }
  70. /**
  71. * 文件内容追加
  72. * @param
  73. */
  74. public static void addLog(DAccident accident,String log){
  75. addLog(accident.getId(),accident.getJid(),accident.getStype(),log);
  76. }
  77. }