IntelligentRecognition/ah-jjsp-service/.svn/pristine/b1/b1c2633c5aa7915f7ab603ad9b9...

59 lines
1.9 KiB
Plaintext

package com.securityControl.task.service.impl;
import com.securityControl.common.core.utils.DateUtils;
import com.securityControl.task.domain.vo.WarningLogVo;
import com.securityControl.task.mapper.LogWarningMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.net.InetAddress;
import java.net.UnknownHostException;
@Slf4j
@Service
public class LogWarningService {
@Resource
private LogWarningMapper mapper;
public void logWarn() {
String maxLogSize = mapper.getMaxLogSize();
String usedMaxSize = mapper.getUsedMaxSize();
BigDecimal b1 = new BigDecimal(maxLogSize);
BigDecimal b2 = new BigDecimal(usedMaxSize);
double rate = b2.divide(b1, RoundingMode.HALF_UP).doubleValue();
if (rate >= 0.95) {
log.warn("内存报警发送邮件!!!");
waringLog("容量告警", "基建视频安全管控系统日志容量已超过95%");
}
}
private void waringLog(String title, String detail) {
InetAddress address = null;
String hostAddress = "";
try {
address = InetAddress.getLocalHost();
hostAddress = address.getHostAddress();
} catch (UnknownHostException e1) {
log.warn("====获取服务器ip异常====");
e1.printStackTrace();
}
WarningLogVo warningLog = new WarningLogVo();
warningLog.setOperateType(title);
warningLog.setOperationIp(hostAddress);
warningLog.setOperateTitle("日志容量上限告警");
warningLog.setOperateDetails(detail);
warningLog.setOperateJb("2");//5致命,4严重,3中等,2一般,1轻微
warningLog.setFastTime(DateUtils.getTime());
warningLog.setOperationName("定时任务");
mapper.insertWarningLog(warningLog);
}
}