1. import java.util.HashMap;
  2. import java.util.Map;
  3. import java.util.logging.Logger;
  4. public class EnvVariableMonitor {
  5. private static final Logger logger = Logger.getLogger(EnvVariableMonitor.class.getName());
  6. private final Map<String, String> expectedVars;
  7. public EnvVariableMonitor(Map<String, String> expectedVars) {
  8. this.expectedVars = expectedVars;
  9. }
  10. public boolean validateEnvironment() {
  11. for (Map.Entry<String, String> entry : expectedVars.entrySet()) {
  12. String varName = entry.getKey();
  13. String expectedValue = entry.getValue();
  14. String actualValue = System.getenv(varName);
  15. if (actualValue == null) {
  16. logger.warning("Environment variable '" + varName + "' is missing.");
  17. return false;
  18. }
  19. if (!actualValue.trim().equals(expectedValue.trim())) {
  20. logger.severe("Environment variable '" + varName + "' has unexpected value. Expected: '" + expectedValue + "', Actual: '" + actualValue + "'.");
  21. return false;
  22. }
  23. }
  24. return true;
  25. }
  26. public static void main(String[] args) {
  27. // Example Usage
  28. Map<String, String> expectedVariables = new HashMap<>();
  29. expectedVariables.put("DATABASE_URL", "jdbc:mysql://localhost:3306/mydb");
  30. expectedVariables.put("API_KEY", "your_secret_api_key");
  31. expectedVariables.put("DEBUG", "true");
  32. EnvVariableMonitor monitor = new EnvVariableMonitor(expectedVariables);
  33. if (monitor.validateEnvironment()) {
  34. System.out.println("Environment variables are valid.");
  35. } else {
  36. System.out.println("Environment variables validation failed.");
  37. }
  38. }
  39. }

Add your comment