瀏覽代碼

feat: 新增日志功能

LiXueSong 3 年之前
父節點
當前提交
472755966d

+ 3 - 0
.gitignore

@@ -31,3 +31,6 @@ build/
 
 ### VS Code ###
 .vscode/
+
+### log ###
+*.log

+ 8 - 0
src/main/java/cn/edu/nju/plagdemo/exception/GlobalExceptionHandler.java

@@ -1,6 +1,7 @@
 package cn.edu.nju.plagdemo.exception;
 
 import cn.edu.nju.plagdemo.utils.RestResult;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.context.support.DefaultMessageSourceResolvable;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.converter.HttpMessageNotReadableException;
@@ -14,6 +15,7 @@ import javax.validation.ConstraintViolation;
 import javax.validation.ConstraintViolationException;
 import java.util.stream.Collectors;
 
+@Slf4j
 @ControllerAdvice
 public class GlobalExceptionHandler {
     /**
@@ -23,6 +25,7 @@ public class GlobalExceptionHandler {
     @ExceptionHandler(value = DefinitionException.class)
     @ResponseBody
     public RestResult<?> defExceptionHandler(DefinitionException e) {
+        log.error(e.getErrorMsg(), e);
         return new RestResult<>(e.getHttpStatus(),e.getErrorMsg());
     }
     /**
@@ -32,6 +35,7 @@ public class GlobalExceptionHandler {
     @ResponseBody
     public RestResult<?> MethodArgumentNotValidExceptionHandler(MethodArgumentNotValidException e) {
         String message = e.getBindingResult().getAllErrors().stream().map(DefaultMessageSourceResolvable::getDefaultMessage).collect(Collectors.joining(";"));
+        log.error(message, e);
         return new RestResult<>(HttpStatus.BAD_REQUEST,message);
     }
 
@@ -42,6 +46,7 @@ public class GlobalExceptionHandler {
     @ResponseBody
     public RestResult<?> BindExceptionHandler(BindException e) {
         String message = e.getBindingResult().getAllErrors().stream().map(DefaultMessageSourceResolvable::getDefaultMessage).collect(Collectors.joining(";"));
+        log.error(message, e);
         return new RestResult<>(HttpStatus.BAD_REQUEST,message);
     }
 
@@ -52,6 +57,7 @@ public class GlobalExceptionHandler {
     @ResponseBody
     public RestResult<?> ConstraintViolationExceptionHandler(ConstraintViolationException e) {
         String message = e.getConstraintViolations().stream().map(ConstraintViolation::getMessage).collect(Collectors.joining(";"));
+        log.error(message, e);
         return new RestResult<>(HttpStatus.BAD_REQUEST,message);
     }
 
@@ -61,6 +67,7 @@ public class GlobalExceptionHandler {
     @ExceptionHandler(HttpMessageNotReadableException.class)
     @ResponseBody
     public RestResult<?> HttpMessageNotReadableExceptionHandler(HttpMessageNotReadableException e) {
+        log.error("参数格式异常", e);
         return new RestResult<>(HttpStatus.BAD_REQUEST, "参数格式异常");
     }
     /**
@@ -70,6 +77,7 @@ public class GlobalExceptionHandler {
     @ExceptionHandler(value = Exception.class)
     @ResponseBody
     public RestResult<?> exceptionHandler(Exception e) {
+        log.error("未知异常", e);
         return RestResult.FAIL;
     }
 }

+ 5 - 1
src/main/resources/application.yml

@@ -20,4 +20,8 @@ server:
     context-path: /
 springfox:
   documentation:
-    enabled: true
+    enabled: true
+logging:
+#  file:
+#    name: app.log
+  level: info