Browse Source

操作日志

master
刘力 3 years ago
parent
commit
76820515a1
  1. 15
      common/src/main/java/com/storeroom/utils/StringUtils.java
  2. 2
      logging/src/main/java/com/storeroom/annotation/Log.java
  3. 14
      logging/src/main/java/com/storeroom/aspect/LogAspect.java
  4. 6
      logging/src/main/java/com/storeroom/domain/Log.java
  5. 2
      logging/src/main/java/com/storeroom/service/impl/LogServiceImpl.java
  6. 5
      storeroom/pom.xml
  7. 2
      storeroom/src/main/java/com/storeroom/modules/storeroom3d/controller/AlarmInfoController.java

15
common/src/main/java/com/storeroom/utils/StringUtils.java

@ -24,7 +24,7 @@ import java.util.Date;
import java.util.Enumeration;
public class StringUtils extends org.apache.commons.lang3.StringUtils{
public class StringUtils extends org.apache.commons.lang3.StringUtils {
private static final Logger log = LoggerFactory.getLogger(StringUtils.class);
private static boolean ipLocal = false;
@ -178,6 +178,15 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils{
}
}
/**
* 获取端口号
* @param request
* @return
*/
public static String getPort(HttpServletRequest request) {
return request.getLocalPort() + "";
}
/**
* 根据ip获取详细地址
*/
@ -237,10 +246,10 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils{
try {
InetAddress candidateAddress = null;
// 遍历所有的网络接口
for (Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces(); interfaces.hasMoreElements();) {
for (Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces(); interfaces.hasMoreElements(); ) {
NetworkInterface anInterface = interfaces.nextElement();
// 在所有的接口下再遍历IP
for (Enumeration<InetAddress> inetAddresses = anInterface.getInetAddresses(); inetAddresses.hasMoreElements();) {
for (Enumeration<InetAddress> inetAddresses = anInterface.getInetAddresses(); inetAddresses.hasMoreElements(); ) {
InetAddress inetAddr = inetAddresses.nextElement();
// 排除loopback类型地址
if (!inetAddr.isLoopbackAddress()) {

2
logging/src/main/java/com/storeroom/annotation/Log.java

@ -10,4 +10,6 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
public @interface Log {
String value() default "";
String apiAddress() default "";
}

14
logging/src/main/java/com/storeroom/aspect/LogAspect.java

@ -50,10 +50,12 @@ public class LogAspect {
Object result;
currentTime.set(System.currentTimeMillis());
result = joinPoint.proceed();
Log log = new Log("INFO",System.currentTimeMillis() - currentTime.get());
Log log = new Log("INFO", System.currentTimeMillis() - currentTime.get());
currentTime.remove();
HttpServletRequest request = RequestHolder.getHttpServletRequest();
logService.save(getUsername(), StringUtils.getBrowser(request), StringUtils.getIp(request),joinPoint, log);
//获取端口号
log.setPort(StringUtils.getPort(request));
logService.save(getUsername(), StringUtils.getBrowser(request), StringUtils.getIp(request), joinPoint, log);
return result;
}
@ -61,21 +63,21 @@ public class LogAspect {
* 配置异常通知
*
* @param joinPoint join point for advice
* @param e exception
* @param e exception
*/
@AfterThrowing(pointcut = "logPointcut()", throwing = "e")
public void logAfterThrowing(JoinPoint joinPoint, Throwable e) {
Log log = new Log("ERROR",System.currentTimeMillis() - currentTime.get());
Log log = new Log("ERROR", System.currentTimeMillis() - currentTime.get());
currentTime.remove();
log.setExceptionDetail(ThrowableUtil.getStackTrace(e).getBytes());
HttpServletRequest request = RequestHolder.getHttpServletRequest();
logService.save(getUsername(), StringUtils.getBrowser(request), StringUtils.getIp(request), (ProceedingJoinPoint)joinPoint, log);
logService.save(getUsername(), StringUtils.getBrowser(request), StringUtils.getIp(request), (ProceedingJoinPoint) joinPoint, log);
}
public String getUsername() {
try {
return SecurityUtils.getCurrentUsername();
}catch (Exception e){
} catch (Exception e) {
return "";
}
}

6
logging/src/main/java/com/storeroom/domain/Log.java

@ -36,6 +36,12 @@ public class Log implements Serializable {
/** 日志类型 */
private String logType;
/** 端口号 **/
private String port;
/**接口名称**/
private String ApiName;
/** 请求ip */
private String requestIp;

2
logging/src/main/java/com/storeroom/service/impl/LogServiceImpl.java

@ -71,7 +71,7 @@ public class LogServiceImpl implements LogService {
// 描述
log.setDescription(aopLog.value());
log.setApiName(aopLog.apiAddress());
log.setRequestIp(ip);
log.setAddress(StringUtils.getCityInfo(log.getRequestIp()));
log.setMethod(methodName);

5
storeroom/pom.xml

@ -41,6 +41,11 @@
<version>5.8.3</version>
</dependency>
<dependency>
<groupId>com.storeroom</groupId>
<artifactId>logging</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
</project>

2
storeroom/src/main/java/com/storeroom/modules/storeroom3d/controller/AlarmInfoController.java

@ -3,6 +3,7 @@ package com.storeroom.modules.storeroom3d.controller;
import com.storeroom.annotaion.rest.AnonymousGetMapping;
import com.storeroom.annotaion.rest.AnonymousPostMapping;
import com.storeroom.annotation.Log;
import com.storeroom.exception.BaseException;
import com.storeroom.modules.storeroom3d.domain.GetCurAlarm;
import com.storeroom.modules.storeroom3d.service.AlarmInfoService;
@ -37,6 +38,7 @@ public class AlarmInfoController {
@Log(value = "报警处理",apiAddress = "/api/alarm")
@AnonymousGetMapping("info")
public ApiResponse<Object> queryStoreroomId(@RequestParam String storeroomId) {
if (StringUtils.isEmpty(storeroomId)) {

Loading…
Cancel
Save