diff --git a/proxyserver/src/main/java/edu/suffolk/litlab/efsp/server/logging/Monitor.java b/proxyserver/src/main/java/edu/suffolk/litlab/efsp/server/logging/Monitor.java
deleted file mode 100644
index 4d1ef3a1..00000000
--- a/proxyserver/src/main/java/edu/suffolk/litlab/efsp/server/logging/Monitor.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package edu.suffolk.litlab.efsp.server.logging;
-
-import edu.suffolk.litlab.efsp.server.utils.SendMessage;
-import edu.suffolk.litlab.efsp.stdlib.StdLib;
-import java.io.IOException;
-import java.time.LocalTime;
-import java.util.Map;
-import java.util.concurrent.atomic.AtomicInteger;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class Monitor {
- private static Logger log = LoggerFactory.getLogger(Monitor.class);
-
- private static final String monitoringEmail = StdLib.GetEnv("MONITORING_EMAIL").orElse("");
- public static final String EXTERNAL_DOMAIN =
- StdLib.GetEnv("EXTERNAL_DOMAIN").orElse("filingassemblymde.com");
-
- private static LocalTime lastSent = null;
- private static AtomicInteger prevErrors = new AtomicInteger(0);
-
- /**
- * Sends error notifications, without overwhelming the monitoring channel. Can be called whenever,
- * and will only send a notification once every 2 minutes.
- *
- *
This works because most of the error info is still in the logs.
- */
- public static void sendErrorNotification(String errorStr) {
- LocalTime now = LocalTime.now();
- if (lastSent == null || (lastSent != null && now.isAfter(lastSent.plusMinutes(2)))) {
- String smallErrStr = (errorStr.length() > 21) ? errorStr.substring(0, 20) : errorStr;
- StringBuilder fullEmailMsg = new StringBuilder();
- fullEmailMsg
- .append("There's been an error in the EfileProxyServer at ")
- .append(EXTERNAL_DOMAIN)
- .append(", at ")
- .append(now.toString())
- .append(". The error was: \n")
- .append(errorStr)
- .append(". ");
- if (lastSent != null && prevErrors.get() > 0) {
- fullEmailMsg
- .append("There were ")
- .append(prevErrors.get())
- .append(" previous error(s) between ")
- .append(lastSent.toString())
- .append(" and now. Check the logs for more information.");
- }
- sendImmediateErrorNotification(
- "Error in EfileProxy: " + smallErrStr, fullEmailMsg.toString(), Map.of());
- lastSent = now;
- prevErrors.set(0);
- } else {
- prevErrors.incrementAndGet();
- }
- }
-
- /**
- * Sends an error notification immediately. Should only call for scheduled processes, and not
- * anything that can be triggered by an API user.
- *
- *
The server needs to be able to send email messages for monitoring to work.
- *
- * @see edu.suffolk.litlab.efsp.server.utils.SendMessage
- * @param subject The subject of the notification (email subject for now)
- * @param template The body of the notification, as a jinja template
- * @param context the mapping of jinja variables in `template` to the strings they should become.
- */
- public static void sendImmediateErrorNotification(
- String subject, String template, Map context) {
- if (monitoringEmail != null && !monitoringEmail.isBlank()) {
- SendMessage.create()
- .ifPresentOrElse(
- sender -> {
- try {
- sender.sendEmail(
- "massaccess@suffolk.edu", subject, monitoringEmail, template, context);
- } catch (IOException ex) {
- log.error(
- "Failed to notify that an updated failed, hope someone checks the logs\n\n",
- ex);
- }
- },
- () -> {
- log.warn("not monitoring error logs");
- });
- }
- }
-}
diff --git a/proxyserver/src/main/java/edu/suffolk/litlab/efsp/server/logging/ServerSpecificAppender.java b/proxyserver/src/main/java/edu/suffolk/litlab/efsp/server/logging/ServerSpecificAppender.java
index bb651c7a..1314a42e 100644
--- a/proxyserver/src/main/java/edu/suffolk/litlab/efsp/server/logging/ServerSpecificAppender.java
+++ b/proxyserver/src/main/java/edu/suffolk/litlab/efsp/server/logging/ServerSpecificAppender.java
@@ -1,6 +1,5 @@
package edu.suffolk.litlab.efsp.server.logging;
-import ch.qos.logback.classic.Level;
import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.core.AppenderBase;
import ch.qos.logback.core.encoder.Encoder;
@@ -57,9 +56,6 @@ public void append(ILoggingEvent event) {
} finally {
lock.unlock();
}
- if (event.getLevel().equals(Level.ERROR)) {
- Monitor.sendErrorNotification(event.getFormattedMessage());
- }
}
public Encoder getEncoder() {
diff --git a/proxyserver/src/main/java/edu/suffolk/litlab/efsp/server/utils/UpdateCodeVersions.java b/proxyserver/src/main/java/edu/suffolk/litlab/efsp/server/utils/UpdateCodeVersions.java
index 56a73ff7..65d6ea77 100644
--- a/proxyserver/src/main/java/edu/suffolk/litlab/efsp/server/utils/UpdateCodeVersions.java
+++ b/proxyserver/src/main/java/edu/suffolk/litlab/efsp/server/utils/UpdateCodeVersions.java
@@ -3,15 +3,11 @@
import edu.suffolk.litlab.efsp.Jurisdiction;
import edu.suffolk.litlab.efsp.db.DatabaseCreator;
import edu.suffolk.litlab.efsp.server.logging.MDCWrappers;
-import edu.suffolk.litlab.efsp.server.logging.Monitor;
-import edu.suffolk.litlab.efsp.tyler.TylerClients;
import edu.suffolk.litlab.efsp.tyler.ecfcodes.CodeDatabase;
import edu.suffolk.litlab.efsp.tyler.ecfcodes.CodeUpdater;
import java.sql.Connection;
import java.sql.SQLException;
-import java.time.LocalDate;
import java.util.List;
-import java.util.Map;
import org.quartz.Job;
import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext;
@@ -23,17 +19,6 @@
public class UpdateCodeVersions implements Job {
private static Logger log = LoggerFactory.getLogger(UpdateCodeVersions.class);
- private static final String badUpdateEmailTemplate =
- """
- Something's wrong with the EfileProxy. On the {{external_server}} server, `UpdateCodeVersions`
- has failed to refresh the downloaded genericodes for the jurisdiction {{jurisdiction}} (env: {{env}}).
- Unfortunately We can't send the potential problems in this message yet, but check the logs around
- {{error_timestamp}}.
-
- Good luck, lol.
- - The EfileProxyServer
- """;
-
/**
* A very light wrapper around the CLI CodeUpdater tool. A separate Job is started for each
* jurisdiction, so only jurisdiction and Tyler env is passed through.
@@ -62,18 +47,7 @@ public void execute(JobExecutionContext context) throws JobExecutionException {
}
log.info("Finished code updates with status: {}", success);
if (!success) {
- Monitor.sendImmediateErrorNotification(
- "UpdateCodeVersions error on " + Monitor.EXTERNAL_DOMAIN,
- badUpdateEmailTemplate,
- Map.of(
- "external_server",
- ServiceHelpers.EXTERNAL_URL,
- "jurisdiction",
- jurisdiction,
- "env",
- TylerClients.getTylerEnv(),
- "error_timestamp",
- LocalDate.now().toString()));
+ log.error("UpdateCodeVersions error, failed to refresh the downloaded genericodes");
}
MDCWrappers.removeAllMDCs();
}