1
0

LogTracingUtil.java 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. package com.nju.edu.eval.util;
  2. import com.alibaba.fastjson.JSON;
  3. import com.alibaba.fastjson.serializer.SerializerFeature;
  4. import com.nju.edu.eval.data.entity.Exam;
  5. import com.nju.edu.eval.model.vo.logdata.AnswerDTO;
  6. import com.nju.edu.eval.model.vo.logdata.ExamLog;
  7. import com.nju.edu.eval.model.vo.logdata.ExamRecordLog;
  8. import lombok.extern.slf4j.Slf4j;
  9. import org.slf4j.Logger;
  10. import java.util.Date;
  11. import java.util.List;
  12. import java.util.stream.Collectors;
  13. @Slf4j
  14. public class LogTracingUtil {
  15. private static final Logger logger = LoggerUtil.getLogger(LogTracingUtil.class);
  16. public static void logToAnalysis(String data, int type, String message) {
  17. // // String data = "This is an example";
  18. //
  19. // //此为logBuilder,若不想使用也可自己构建log
  20. // //注:此logBuilder在调用build方法时会自动添加created_time属性,值为当前时间戳
  21. //
  22. // String logData = "";
  23. //
  24. // try {
  25. // logData= LogBuilder
  26. // .getBuilder()
  27. // .target(SeecSystem.SMART) // 等待分配enum后修改
  28. // .source(SeecSystem.EVAL)
  29. // .operationType(type)
  30. // .data(data)
  31. // .message(message)
  32. // .build();
  33. //
  34. // //最简单使用方法,默认为medium级别
  35. // LogTrackingClient
  36. // .getClient()
  37. // .log(logData)
  38. // .publish();
  39. //
  40. // // LoggerUtil.info(logger, logData);
  41. // LoggerUtil.info(logger, "SMART --> " + logData);
  42. //
  43. // }catch(Exception e){
  44. // LoggerUtil.info(logger, "SMART --> " + logData);
  45. // e.printStackTrace();
  46. // }
  47. }
  48. public static void logExam(Exam exam, int type) {
  49. // try {
  50. // List<AnswerDTO> answerDTOS = exam.getQuestionAndScore().entrySet().stream().
  51. // map(et -> new AnswerDTO(et.getKey(), et.getValue())).collect(Collectors.toList());
  52. // double totalGrade = exam.getQuestionAndScore().values().stream().collect(Collectors.summarizingInt(x -> x.intValue())).getSum();
  53. //
  54. // ExamLog examLog = new ExamLog(exam.getId(), totalGrade, answerDTOS, exam.getDifficulty(), new Date(), exam.getStartTime(), exam.getEndTime());
  55. //
  56. // logToAnalysis(JSON.toJSONStringWithDateFormat(examLog, "yyyy-MM-dd HH:mm:ss", SerializerFeature.WriteDateUseDateFormat), type, "exam data");
  57. // }catch (Exception e){
  58. // System.out.println("构建日志数据失败");
  59. // e.printStackTrace();
  60. // }
  61. }
  62. public static void logRecord(ExamRecordLog examRecordLog) {
  63. // logToAnalysis(JSON.toJSONStringWithDateFormat(examRecordLog, "yyyy-MM-dd HH:mm:ss", SerializerFeature.WriteDateUseDateFormat), 2, "record data");
  64. }
  65. public static void logSimple(String log) {
  66. // logger.info(log);
  67. }
  68. }