|
|
@@ -16,6 +16,7 @@ import org.quartz.JobExecutionException;
|
|
|
|
|
|
import com.x.base.core.container.EntityManagerContainer;
|
|
|
import com.x.base.core.container.factory.EntityManagerContainerFactory;
|
|
|
+import com.x.base.core.entity.JpaObject_;
|
|
|
import com.x.base.core.project.config.Config;
|
|
|
import com.x.base.core.project.connection.ActionResponse;
|
|
|
import com.x.base.core.project.connection.ConnectionAction;
|
|
|
@@ -38,58 +39,16 @@ public class CollectLog extends BaseAction {
|
|
|
@Override
|
|
|
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
|
|
|
try {
|
|
|
- if (pirmaryCenter()) {
|
|
|
+ if (pirmaryCenter() && BooleanUtils.isTrue(Config.collect().getEnable())) {
|
|
|
try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
|
|
|
- if (BooleanUtils.isTrue(Config.collect().getEnable())) {
|
|
|
- Business business = new Business(emc);
|
|
|
- if (business.validateCollect()) {
|
|
|
- List<PromptErrorLog> os_promptErrorLog = this.list_promptErrorLog(emc);
|
|
|
- List<UnexpectedErrorLog> os_unexpectedErrorLog = this.list_unexpectedErrorLog(emc);
|
|
|
- List<WarnLog> os_warnLog = this.list_warnLog(emc);
|
|
|
- if (!os_promptErrorLog.isEmpty()) {
|
|
|
- Req req = new Req();
|
|
|
- req.setName(Config.collect().getName());
|
|
|
- req.setPassword(Config.collect().getPassword());
|
|
|
- req.setPromptErrorLogList(os_promptErrorLog);
|
|
|
- try {
|
|
|
- ActionResponse response = ConnectionAction
|
|
|
- .put(Config.collect().url(ADDRESS_COLLECT_PROMPTERRORLOG), null, req);
|
|
|
- response.getData(WrapOutBoolean.class);
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- }
|
|
|
- if (!os_unexpectedErrorLog.isEmpty()) {
|
|
|
- Req req = new Req();
|
|
|
- req.setName(Config.collect().getName());
|
|
|
- req.setPassword(Config.collect().getPassword());
|
|
|
- req.setUnexceptedErrorLog(os_unexpectedErrorLog);
|
|
|
- try {
|
|
|
- ActionResponse response = ConnectionAction
|
|
|
- .put(Config.collect().url(ADDRESS_COLLECT_UNEXPECTEDERRORLOG), null, req);
|
|
|
- response.getData(WrapOutBoolean.class);
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- }
|
|
|
- if (!os_warnLog.isEmpty()) {
|
|
|
- Req req = new Req();
|
|
|
- req.setName(Config.collect().getName());
|
|
|
- req.setPassword(Config.collect().getPassword());
|
|
|
- req.setWarnLogList(os_warnLog);
|
|
|
- try {
|
|
|
- ActionResponse response = ConnectionAction
|
|
|
- .put(Config.collect().url(ADDRESS_COLLECT_WARNLOG), null, req);
|
|
|
- response.getData(WrapOutBoolean.class);
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- logger.info("无法登录到云服务器.");
|
|
|
- }
|
|
|
+ Business business = new Business(emc);
|
|
|
+ if (BooleanUtils.isNotTrue(business.validateCollect())) {
|
|
|
+ logger.warn("login cloud server failure.");
|
|
|
}
|
|
|
}
|
|
|
+ this.collectPromptErrorLog();
|
|
|
+ this.collectUnexpectedErrorLog();
|
|
|
+ this.collectWarnLog();
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
logger.error(e);
|
|
|
@@ -97,12 +56,70 @@ public class CollectLog extends BaseAction {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private void collectPromptErrorLog() throws Exception {
|
|
|
+ try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
|
|
|
+ List<PromptErrorLog> list = this.listPromptErrorLog(emc);
|
|
|
+ if (!list.isEmpty()) {
|
|
|
+ Req req = new Req();
|
|
|
+ req.setName(Config.collect().getName());
|
|
|
+ req.setPassword(Config.collect().getPassword());
|
|
|
+ req.setPromptErrorLogList(list);
|
|
|
+ try {
|
|
|
+ ActionResponse response = ConnectionAction.put(Config.collect().url(ADDRESS_COLLECT_PROMPTERRORLOG),
|
|
|
+ null, req);
|
|
|
+ response.getData(WrapOutBoolean.class);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void collectUnexpectedErrorLog() throws Exception {
|
|
|
+ try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
|
|
|
+ List<UnexpectedErrorLog> list = this.listUnexpectedErrorLog(emc);
|
|
|
+ if (!list.isEmpty()) {
|
|
|
+ Req req = new Req();
|
|
|
+ req.setName(Config.collect().getName());
|
|
|
+ req.setPassword(Config.collect().getPassword());
|
|
|
+ req.setUnexpectedErrorLogList(list);
|
|
|
+ try {
|
|
|
+ ActionResponse response = ConnectionAction
|
|
|
+ .put(Config.collect().url(ADDRESS_COLLECT_UNEXPECTEDERRORLOG), null, req);
|
|
|
+ response.getData(WrapOutBoolean.class);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void collectWarnLog() throws Exception {
|
|
|
+ try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
|
|
|
+ List<WarnLog> list = this.listWarnLog(emc);
|
|
|
+ if (!list.isEmpty()) {
|
|
|
+ Req req = new Req();
|
|
|
+ req.setName(Config.collect().getName());
|
|
|
+ req.setPassword(Config.collect().getPassword());
|
|
|
+ req.setWarnLogList(list);
|
|
|
+ try {
|
|
|
+ ActionResponse response = ConnectionAction.put(Config.collect().url(ADDRESS_COLLECT_WARNLOG), null,
|
|
|
+ req);
|
|
|
+ response.getData(WrapOutBoolean.class);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
public static class Req extends GsonPropertyObject {
|
|
|
|
|
|
+ private static final long serialVersionUID = 2018703062822498687L;
|
|
|
private String name;
|
|
|
private String password;
|
|
|
private List<PromptErrorLog> promptErrorLogList = new ArrayList<>();
|
|
|
- private List<UnexpectedErrorLog> unexceptedErrorLog = new ArrayList<>();
|
|
|
+ private List<UnexpectedErrorLog> unexpectedErrorLogList = new ArrayList<>();
|
|
|
private List<WarnLog> warnLogList = new ArrayList<>();
|
|
|
|
|
|
public String getName() {
|
|
|
@@ -137,27 +154,28 @@ public class CollectLog extends BaseAction {
|
|
|
this.warnLogList = warnLogList;
|
|
|
}
|
|
|
|
|
|
- public List<UnexpectedErrorLog> getUnexceptedErrorLog() {
|
|
|
- return unexceptedErrorLog;
|
|
|
+ public List<UnexpectedErrorLog> getUnexpectedErrorLogList() {
|
|
|
+ return unexpectedErrorLogList;
|
|
|
}
|
|
|
|
|
|
- public void setUnexceptedErrorLog(List<UnexpectedErrorLog> unexceptedErrorLog) {
|
|
|
- this.unexceptedErrorLog = unexceptedErrorLog;
|
|
|
+ public void setUnexpectedErrorLogList(List<UnexpectedErrorLog> unexpectedErrorLogList) {
|
|
|
+ this.unexpectedErrorLogList = unexpectedErrorLogList;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
- private List<PromptErrorLog> list_promptErrorLog(EntityManagerContainer emc) throws Exception {
|
|
|
+ private List<PromptErrorLog> listPromptErrorLog(EntityManagerContainer emc) throws Exception {
|
|
|
EntityManager em = emc.get(PromptErrorLog.class);
|
|
|
CriteriaBuilder cb = em.getCriteriaBuilder();
|
|
|
CriteriaQuery<PromptErrorLog> cq = cb.createQuery(PromptErrorLog.class);
|
|
|
Root<PromptErrorLog> root = cq.from(PromptErrorLog.class);
|
|
|
Calendar cal = Calendar.getInstance();
|
|
|
cal.add(Calendar.DAY_OF_MONTH, -1);
|
|
|
- Predicate p = cb.greaterThan(root.get(PromptErrorLog_.createTime), cal.getTime());
|
|
|
- p = cb.and(p, cb.notEqual(root.get(PromptErrorLog_.collected), true));
|
|
|
- cq.select(root).where(p).orderBy(cb.desc(root.get(PromptErrorLog_.createTime)));
|
|
|
- List<PromptErrorLog> list = em.createQuery(cq).setMaxResults(10).getResultList();
|
|
|
+ Predicate p = cb.greaterThan(root.get(JpaObject_.createTime), cal.getTime());
|
|
|
+ p = cb.and(p, cb.or(cb.notEqual(root.get(PromptErrorLog_.collected), true),
|
|
|
+ cb.isNull(root.get(PromptErrorLog_.collected))));
|
|
|
+ cq.select(root).where(p).orderBy(cb.desc(root.get(JpaObject_.createTime)));
|
|
|
+ List<PromptErrorLog> list = em.createQuery(cq).setMaxResults(20).getResultList();
|
|
|
if (!list.isEmpty()) {
|
|
|
emc.beginTransaction(PromptErrorLog.class);
|
|
|
for (PromptErrorLog o : list) {
|
|
|
@@ -168,17 +186,18 @@ public class CollectLog extends BaseAction {
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
- private List<UnexpectedErrorLog> list_unexpectedErrorLog(EntityManagerContainer emc) throws Exception {
|
|
|
+ private List<UnexpectedErrorLog> listUnexpectedErrorLog(EntityManagerContainer emc) throws Exception {
|
|
|
EntityManager em = emc.get(UnexpectedErrorLog.class);
|
|
|
CriteriaBuilder cb = em.getCriteriaBuilder();
|
|
|
CriteriaQuery<UnexpectedErrorLog> cq = cb.createQuery(UnexpectedErrorLog.class);
|
|
|
Root<UnexpectedErrorLog> root = cq.from(UnexpectedErrorLog.class);
|
|
|
Calendar cal = Calendar.getInstance();
|
|
|
cal.add(Calendar.DAY_OF_MONTH, -1);
|
|
|
- Predicate p = cb.greaterThan(root.get(UnexpectedErrorLog_.createTime), cal.getTime());
|
|
|
- p = cb.and(p, cb.notEqual(root.get(UnexpectedErrorLog_.collected), true));
|
|
|
- cq.select(root).where(p).orderBy(cb.desc(root.get(UnexpectedErrorLog_.createTime)));
|
|
|
- List<UnexpectedErrorLog> list = em.createQuery(cq).setMaxResults(10).getResultList();
|
|
|
+ Predicate p = cb.greaterThan(root.get(JpaObject_.createTime), cal.getTime());
|
|
|
+ p = cb.and(p, cb.or(cb.notEqual(root.get(UnexpectedErrorLog_.collected), true),
|
|
|
+ cb.isNull(root.get(UnexpectedErrorLog_.collected))));
|
|
|
+ cq.select(root).where(p).orderBy(cb.desc(root.get(JpaObject_.createTime)));
|
|
|
+ List<UnexpectedErrorLog> list = em.createQuery(cq).setMaxResults(20).getResultList();
|
|
|
if (!list.isEmpty()) {
|
|
|
emc.beginTransaction(UnexpectedErrorLog.class);
|
|
|
for (UnexpectedErrorLog o : list) {
|
|
|
@@ -189,17 +208,17 @@ public class CollectLog extends BaseAction {
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
- private List<WarnLog> list_warnLog(EntityManagerContainer emc) throws Exception {
|
|
|
+ private List<WarnLog> listWarnLog(EntityManagerContainer emc) throws Exception {
|
|
|
EntityManager em = emc.get(WarnLog.class);
|
|
|
CriteriaBuilder cb = em.getCriteriaBuilder();
|
|
|
CriteriaQuery<WarnLog> cq = cb.createQuery(WarnLog.class);
|
|
|
Root<WarnLog> root = cq.from(WarnLog.class);
|
|
|
Calendar cal = Calendar.getInstance();
|
|
|
cal.add(Calendar.DAY_OF_MONTH, -1);
|
|
|
- Predicate p = cb.greaterThan(root.get(WarnLog_.createTime), cal.getTime());
|
|
|
- p = cb.and(p, cb.notEqual(root.get(WarnLog_.collected), true));
|
|
|
- cq.select(root).where(p).orderBy(cb.desc(root.get(WarnLog_.createTime)));
|
|
|
- List<WarnLog> list = em.createQuery(cq).setMaxResults(10).getResultList();
|
|
|
+ Predicate p = cb.greaterThan(root.get(JpaObject_.createTime), cal.getTime());
|
|
|
+ p = cb.and(p, cb.or(cb.notEqual(root.get(WarnLog_.collected), true), cb.isNull(root.get(WarnLog_.collected))));
|
|
|
+ cq.select(root).where(p).orderBy(cb.desc(root.get(JpaObject_.createTime)));
|
|
|
+ List<WarnLog> list = em.createQuery(cq).setMaxResults(20).getResultList();
|
|
|
if (!list.isEmpty()) {
|
|
|
emc.beginTransaction(WarnLog.class);
|
|
|
for (WarnLog o : list) {
|