diff --git a/src/main/java/org/ccalm/jwt/MainController.java b/src/main/java/org/ccalm/jwt/MainController.java index a219b2e..c202703 100644 --- a/src/main/java/org/ccalm/jwt/MainController.java +++ b/src/main/java/org/ccalm/jwt/MainController.java @@ -24,6 +24,9 @@ import net.logicsquad.nanocaptcha.image.renderer.DefaultWordRenderer; import org.apache.commons.codec.digest.DigestUtils; import org.json.JSONArray; import org.json.JSONException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.slf4j.MarkerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.dao.DataAccessException; @@ -40,8 +43,6 @@ import org.springframework.web.context.ServletContextAware; import org.json.JSONObject; import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; import org.apache.commons.text.RandomStringGenerator; import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping; import org.springframework.context.ApplicationContext; @@ -78,7 +79,7 @@ import org.springframework.transaction.annotation.Transactional; @Controller public class MainController implements ServletContextAware { - private static final Logger logger = LogManager.getLogger(MainController.class); + private static final Logger logger = LoggerFactory.getLogger(MainController.class); @Value("${spring.application.name}") String application_name = ""; @@ -228,7 +229,7 @@ public class MainController implements ServletContextAware { KeyFactory keyFactory = KeyFactory.getInstance("RSA"); return keyFactory.generatePrivate(spec); } catch (Exception e) { - logger.error(e); + logger.error(e.getMessage()); } return null; } @@ -241,7 +242,7 @@ public class MainController implements ServletContextAware { PublicKey key = keyFactory.generatePublic(spec); return key; } catch (Exception e) { - logger.error(e); + logger.error(e.getMessage()); } return null; } @@ -325,7 +326,7 @@ public class MainController implements ServletContextAware { cache.set(token, userAgentHash, access_time); } catch (Exception e) { String uuid = UUID.randomUUID().toString(); - logger.error(uuid, e); + logger.error(MarkerFactory.getMarker(uuid), e.getMessage()); throw new CustomException(500, 10000, trt.trt(false, "Internal_Server_Error"), null, true); } @@ -337,12 +338,12 @@ public class MainController implements ServletContextAware { } catch (CustomException e) { if(e.isSaveToLog()) { String uuid = UUID.randomUUID().toString(); - logger.error(uuid, e); + logger.error(MarkerFactory.getMarker(uuid), e.getMessage()); } return new ResponseEntity<>(e.getErrorResponseModel(), getHttpStatus(e.getHttpCode())); } catch (Exception e) { String uuid = UUID.randomUUID().toString(); - logger.error(uuid, e); + logger.error(MarkerFactory.getMarker(uuid), e.getMessage()); return new ResponseEntity<>(new ErrorResponseModel(500, 10000, trt.trt(false, "Internal_Server_Error"), null, uuid), HttpStatus.INTERNAL_SERVER_ERROR); } } @@ -392,7 +393,7 @@ public class MainController implements ServletContextAware { return new ResponseEntity<>(json.toString(), HttpStatus.OK); } catch (Exception e) { String uuid = UUID.randomUUID().toString(); - logger.error(uuid, e); + logger.error(MarkerFactory.getMarker(uuid), e.getMessage()); return new ResponseEntity<>(new ErrorResponseModel(500, 10000, trt.trt(false, "Internal_Server_Error"), null, uuid), HttpStatus.INTERNAL_SERVER_ERROR); } } @@ -432,12 +433,12 @@ public class MainController implements ServletContextAware { return new ResponseEntity<>(data, HttpStatus.OK); } catch (CustomException e) { if(e.isSaveToLog()) { - logger.error(e.getErrorMarker(), e); + logger.error(MarkerFactory.getMarker(e.getErrorMarker()), e.getMessage()); } return new ResponseEntity<>(e.getErrorResponseModel(), getHttpStatus(e.getHttpCode())); } catch (Exception e) { String uuid = UUID.randomUUID().toString(); - logger.error(uuid, e); + logger.error(MarkerFactory.getMarker(uuid), e.getMessage()); return new ResponseEntity<>(new ErrorResponseModel(500, 10000, trt.trt(false, "Internal_Server_Error"), null, uuid), HttpStatus.INTERNAL_SERVER_ERROR); } } @@ -495,12 +496,12 @@ public class MainController implements ServletContextAware { return new ResponseEntity<>(new ErrorResponseModel(200, 0), HttpStatus.OK); } catch (CustomException e) { if(e.isSaveToLog()) { - logger.error(e.getErrorMarker(), e); + logger.error(MarkerFactory.getMarker(e.getErrorMarker()), e.getMessage()); } return new ResponseEntity<>(e.getErrorResponseModel(), getHttpStatus(e.getHttpCode())); } catch (Exception e) { String uuid = UUID.randomUUID().toString(); - logger.error(uuid, e); + logger.error(MarkerFactory.getMarker(uuid), e.getMessage()); return new ResponseEntity<>(new ErrorResponseModel(500, 10000, trt.trt(false, "Internal_Server_Error"), null, uuid), HttpStatus.INTERNAL_SERVER_ERROR); } } @@ -569,12 +570,12 @@ public class MainController implements ServletContextAware { return new ResponseEntity<>(ApiResponseData.success(data), HttpStatus.OK); } catch (CustomException e) { if(e.isSaveToLog()) { - logger.error(e.getErrorMarker(), e); + logger.error(MarkerFactory.getMarker(e.getErrorMarker()), e.getMessage()); } return new ResponseEntity<>(e.getErrorResponseModel(), getHttpStatus(e.getHttpCode())); } catch (Exception e) { String uuid = UUID.randomUUID().toString(); - logger.error(uuid, e); + logger.error(MarkerFactory.getMarker(uuid), e.getMessage()); return new ResponseEntity<>(new ErrorResponseModel(500, 10000, trt.trt(false, "Internal_Server_Error"), null, uuid), HttpStatus.INTERNAL_SERVER_ERROR); } } @@ -630,12 +631,12 @@ public class MainController implements ServletContextAware { return new ResponseEntity<>(json.toString(), HttpStatus.OK); } catch (CustomException e) { if(e.isSaveToLog()) { - logger.error(e.getErrorMarker(), e); + logger.error(MarkerFactory.getMarker(e.getErrorMarker()), e.getMessage()); } return new ResponseEntity<>(e.getErrorResponseModel(), getHttpStatus(e.getHttpCode())); } catch (Exception e) { String uuid = UUID.randomUUID().toString(); - logger.error(uuid, e); + logger.error(MarkerFactory.getMarker(uuid), e.getMessage()); return new ResponseEntity<>(new ErrorResponseModel(500, 10000, trt.trt(false, "Internal_Server_Error"), null, uuid), HttpStatus.INTERNAL_SERVER_ERROR); } } @@ -687,7 +688,7 @@ public class MainController implements ServletContextAware { try { jToken = new JSONObject(sToken); } catch (JSONException e) { - logger.error(e); + logger.error(e.getMessage()); } if(jToken==null) { @@ -783,12 +784,12 @@ public class MainController implements ServletContextAware { return new ResponseEntity<>(new ErrorResponseModel(200, 0,trt.trt(false, "The_verification_code_has_been_sent_to_your_email_address"),null), HttpStatus.OK); } catch (CustomException e) { if(e.isSaveToLog()) { - logger.error(e.getErrorMarker(), e); + logger.error(MarkerFactory.getMarker(e.getErrorMarker()), e.getMessage()); } return new ResponseEntity<>(e.getErrorResponseModel(), getHttpStatus(e.getHttpCode())); } catch (Exception e) { String uuid = UUID.randomUUID().toString(); - logger.error(uuid, e); + logger.error(MarkerFactory.getMarker(uuid), e.getMessage()); return new ResponseEntity<>(new ErrorResponseModel(500, 10000, trt.trt(false, "Internal_Server_Error"), null, uuid), HttpStatus.INTERNAL_SERVER_ERROR); } } @@ -920,12 +921,12 @@ public class MainController implements ServletContextAware { return new ResponseEntity<>(json.toString(), HttpStatus.OK); } catch (CustomException e) { if(e.isSaveToLog()) { - logger.error(e.getErrorMarker(), e); + logger.error(MarkerFactory.getMarker(e.getErrorMarker()), e.getMessage()); } return new ResponseEntity<>(e.getErrorResponseModel(), getHttpStatus(e.getHttpCode())); } catch (Exception e) { String uuid = UUID.randomUUID().toString(); - logger.error(uuid, e); + logger.error(MarkerFactory.getMarker(uuid), e.getMessage()); return new ResponseEntity<>(new ErrorResponseModel(500, 10000, trt.trt(false, "Internal_Server_Error"), null, uuid), HttpStatus.INTERNAL_SERVER_ERROR); } } @@ -981,12 +982,12 @@ public class MainController implements ServletContextAware { return new ResponseEntity<>(json.toString(), HttpStatus.OK); } catch (CustomException e) { if(e.isSaveToLog()) { - logger.error(e.getErrorMarker(), e); + logger.error(MarkerFactory.getMarker(e.getErrorMarker()), e.getMessage()); } return new ResponseEntity<>(e.getErrorResponseModel(), getHttpStatus(e.getHttpCode())); } catch (Exception e) { String uuid = UUID.randomUUID().toString(); - logger.error(uuid, e); + logger.error(MarkerFactory.getMarker(uuid), e.getMessage()); return new ResponseEntity<>(new ErrorResponseModel(500, 10000, trt.trt(false, "Internal_Server_Error"), null, uuid), HttpStatus.INTERNAL_SERVER_ERROR); } } @@ -1050,7 +1051,7 @@ public class MainController implements ServletContextAware { } }catch (DataAccessException ex){ String uuid = UUID.randomUUID().toString(); - logger.error(uuid,ex); + logger.error(MarkerFactory.getMarker(uuid),ex.getMessage()); throw new CustomException(500, 10000, trt.trt(false, "Internal_Server_Error"),uuid,true); } if(json==null) { @@ -1062,6 +1063,7 @@ public class MainController implements ServletContextAware { msglist.add(trt.trt(false, "Authorization_attempts_s_out_of_s")); parlist.add(attempt_count+";"+attempt_limit+";"); } + //logger.warn("Failed password for {} from {} port {}", loginModel.getLogin(), ipAddress, 443); //Сохраняю в лог ошибку авторизации для последующего анализа Wazuh throw new CustomException(200, 10000, msglist, parlist, null,false); } @@ -1094,7 +1096,7 @@ public class MainController implements ServletContextAware { String str = String.valueOf(attempt_count); errorSettings.add(str + ";" + String.valueOf(attempt_limit) + ";"); } - + //logger.warn("Failed TOTP for {} from {} port {}", loginModel.getLogin(), ipAddress, 443); //Сохраняю в лог ошибку авторизации для последующего анализа Wazuh throw new CustomException(200, 10012, errorMessages, errorSettings, (String)null,false); } @@ -1108,7 +1110,7 @@ public class MainController implements ServletContextAware { String str = String.valueOf(attempt_count); errorSettings.add(str + ";" + String.valueOf(attempt_limit) + ";"); } - + //logger.warn("Failed TOTP for {} from {} port {}", loginModel.getLogin(), ipAddress, 443); //Сохраняю в лог ошибку авторизации для последующего анализа Wazuh throw new CustomException(200, 10000, errorMessages, errorSettings, (String)null,false); } @@ -1136,7 +1138,7 @@ public class MainController implements ServletContextAware { } }catch (Exception ex){ String uuid = UUID.randomUUID().toString(); - logger.error(uuid,ex); + logger.error(MarkerFactory.getMarker(uuid),ex.getMessage()); throw new CustomException(500, 10000, trt.trt(false, "Error_executing_SQL_query"),uuid,false); } @@ -1233,12 +1235,12 @@ public class MainController implements ServletContextAware { return new ResponseEntity<>(json.toString(), HttpStatus.OK); } catch (CustomException e) { if(e.isSaveToLog()) { - logger.error(e.getErrorMarker(), e); + logger.error(MarkerFactory.getMarker(e.getErrorMarker()), e.getMessage()); } return new ResponseEntity<>(e.getErrorResponseModel(), getHttpStatus(e.getHttpCode())); } catch (Exception e) { String uuid = UUID.randomUUID().toString(); - logger.error(uuid, e); + logger.error(MarkerFactory.getMarker(uuid), e.getMessage()); return new ResponseEntity<>(new ErrorResponseModel(500, 10000, trt.trt(false, "Internal_Server_Error"), null, uuid), HttpStatus.INTERNAL_SERVER_ERROR); } } @@ -1273,11 +1275,11 @@ public class MainController implements ServletContextAware { throw e; }catch (DataAccessException ex){ java.lang.String uuid = UUID.randomUUID().toString(); - logger.error(uuid, ex); + logger.error(MarkerFactory.getMarker(uuid), ex.getMessage()); throw new CustomException(500, 10000, trt.trt(false, "Internal_Server_Error"),uuid,false); }catch (Exception e) { String uuid = UUID.randomUUID().toString(); - logger.error(uuid,e); + logger.error(MarkerFactory.getMarker(uuid),e.getMessage()); throw new CustomException(500, 10000, trt.trt(false, "Internal_Server_Error"),uuid,false); } @@ -1339,7 +1341,7 @@ public class MainController implements ServletContextAware { } }catch (DataAccessException ex){ String uuid = UUID.randomUUID().toString(); - logger.error(uuid,ex); + logger.error(MarkerFactory.getMarker(uuid),ex.getMessage()); throw new CustomException(500, 10000, trt.trt(false, "Error_executing_SQL_query"),uuid,false); } if(json==null) { @@ -1351,6 +1353,7 @@ public class MainController implements ServletContextAware { msglist.add(trt.trt(false, "Authorization_attempts_s_out_of_s")); parlist.add(attempt_count+";"+attempt_limit+";"); } + //logger.warn("Failed password for {} from {} port {}", loginModel.getLogin(), ipAddress, 443); //Сохраняю в лог ошибку авторизации для последующего анализа Wazuh throw new CustomException(200, 10000, msglist, parlist, null,false); } @@ -1391,7 +1394,7 @@ public class MainController implements ServletContextAware { int cnt = jdbcTemplate.update(sql, parameters); }catch (DataAccessException ex){ String uuid = UUID.randomUUID().toString(); - logger.error(uuid,ex); + logger.error(MarkerFactory.getMarker(uuid),ex.getMessage()); throw new CustomException(500, 10000, trt.trt(false, "Error_executing_SQL_query"),uuid,false); } @@ -1410,12 +1413,12 @@ public class MainController implements ServletContextAware { return new ResponseEntity<>(json.toString(), HttpStatus.OK); } catch (CustomException e) { if(e.isSaveToLog()) { - logger.error(e.getErrorMarker(), e); + logger.error(MarkerFactory.getMarker(e.getErrorMarker()), e.getMessage()); } return new ResponseEntity<>(e.getErrorResponseModel(), getHttpStatus(e.getHttpCode())); } catch (Exception e) { String uuid = UUID.randomUUID().toString(); - logger.error(uuid, e); + logger.error(MarkerFactory.getMarker(uuid), e.getMessage()); return new ResponseEntity<>(new ErrorResponseModel(500, 10000, trt.trt(false, "Internal_Server_Error"), null, uuid), HttpStatus.INTERNAL_SERVER_ERROR); } } @@ -1518,12 +1521,12 @@ public class MainController implements ServletContextAware { return new ResponseEntity<>(json.toString(), HttpStatus.OK); } catch (CustomException e) { if(e.isSaveToLog()) { - logger.error(e.getErrorMarker(), e); + logger.error(MarkerFactory.getMarker(e.getErrorMarker()), e.getMessage()); } return new ResponseEntity<>(e.getErrorResponseModel(), getHttpStatus(e.getHttpCode())); } catch (Exception e) { String uuid = UUID.randomUUID().toString(); - logger.error(uuid, e); + logger.error(MarkerFactory.getMarker(uuid), e.getMessage()); return new ResponseEntity<>(new ErrorResponseModel(500, 10000, trt.trt(false, "Internal_Server_Error"), null, uuid), HttpStatus.INTERNAL_SERVER_ERROR); } } @@ -1578,7 +1581,7 @@ public class MainController implements ServletContextAware { int cnt = jdbcTemplate.update(sql, parameters); } catch (Exception e) { String uuid = UUID.randomUUID().toString(); - logger.error(uuid,e); + logger.error(MarkerFactory.getMarker(uuid),e.getMessage()); return createHTMLError(10000,trt.trt(false, "Internal_Server_Error")); } return createHTMLError(0,trt.trt(false, "The_password_has_been_changed_and_you_have_been_redirected_to_the_main_page")); @@ -1674,12 +1677,12 @@ public class MainController implements ServletContextAware { return new ResponseEntity<>(createStrJSONError(0, trt.trt(false,"A_recovery_link_has_been_sent_to_your_email"),(String)null,(String)null), HttpStatus.OK); } catch (CustomException e) { if(e.isSaveToLog()) { - logger.error(e.getErrorMarker(), e); + logger.error(MarkerFactory.getMarker(e.getErrorMarker()), e.getMessage()); } return new ResponseEntity<>(e.getErrorResponseModel(), getHttpStatus(e.getHttpCode())); } catch (Exception e) { String uuid = UUID.randomUUID().toString(); - logger.error(uuid, e); + logger.error(MarkerFactory.getMarker(uuid), e.getMessage()); return new ResponseEntity<>(new ErrorResponseModel(500, 10000, trt.trt(false, "Internal_Server_Error"), null, uuid), HttpStatus.INTERNAL_SERVER_ERROR); } } @@ -1749,12 +1752,12 @@ public class MainController implements ServletContextAware { return new ResponseEntity<>(json.toString(), HttpStatus.OK); } catch (CustomException e) { if(e.isSaveToLog()) { - logger.error(e.getErrorMarker(), e); + logger.error(MarkerFactory.getMarker(e.getErrorMarker()), e.getMessage()); } return new ResponseEntity<>(e.getErrorResponseModel(), getHttpStatus(e.getHttpCode())); } catch (Exception e) { String uuid = UUID.randomUUID().toString(); - logger.error(uuid, e); + logger.error(MarkerFactory.getMarker(uuid), e.getMessage()); return new ResponseEntity<>(new ErrorResponseModel(500, 10000, trt.trt(false, "Internal_Server_Error"), null, uuid), HttpStatus.INTERNAL_SERVER_ERROR); } } @@ -1813,12 +1816,12 @@ public class MainController implements ServletContextAware { return new ResponseEntity<>(new ErrorResponseModel(200, 0,"",""), HttpStatus.OK); } catch (CustomException e) { if(e.isSaveToLog()) { - logger.error(e.getErrorMarker(), e); + logger.error(MarkerFactory.getMarker(e.getErrorMarker()), e.getMessage()); } return new ResponseEntity<>(e.getErrorResponseModel(), getHttpStatus(e.getHttpCode())); } catch (Exception e) { String uuid = UUID.randomUUID().toString(); - logger.error(uuid, e); + logger.error(MarkerFactory.getMarker(uuid), e.getMessage()); return new ResponseEntity<>(new ErrorResponseModel(500, 10000, trt.trt(false,"Internal_Server_Error"), null, uuid), HttpStatus.INTERNAL_SERVER_ERROR); } } diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml index 936ffac..fb48193 100644 --- a/src/main/resources/logback-spring.xml +++ b/src/main/resources/logback-spring.xml @@ -1,17 +1,15 @@ - - - - ${LOGS}/${appName}.log - {"timestamp":"%d{yyyy-MM-dd'T'HH:mm:ss.SSS'Z'}","thread":"[%thread]","level":"%level","logger":"%logger{36}","marker":"%X{marker}","message":"%msg"}%n + + {"timestamp":"%d{yyyy-MM-dd'T'HH:mm:ss.SSS'Z'}","thread":"[%thread]","level":"%level","logger":"%logger{36}","marker":"%marker","message":"%msg","exception":"%ex"}%n + ${LOGS}/${appName}.%d{yyyy-MM-dd}.%i.log @@ -24,15 +22,16 @@ - %d{yyyy-MM-dd'T'HH:mm:ss.SSS'Z'} | %level | %logger{36} | %X{marker} | %msg%n + + %d{yyyy-MM-dd'T'HH:mm:ss.SSS'Z'} | %level | %logger{36} | %marker | %msg%n + - + -