1. import java.io.File;
  2. import java.util.HashMap;
  3. import java.util.Map;
  4. public class LogFileValidator {
  5. public static Map<String, Boolean> validateLogConfigurations(Map<String, String> config) {
  6. Map<String, Boolean> validationResults = new HashMap<>();
  7. // Validate required configuration
  8. if (config == null || config.isEmpty()) {
  9. validationResults.put("log_file", false);
  10. validationResults.put("log_level", false);
  11. return validationResults;
  12. }
  13. if (!config.containsKey("log_file") || !config.containsKey("log_level")) {
  14. validationResults.put("log_file", false);
  15. validationResults.put("log_level", false);
  16. return validationResults;
  17. }
  18. String logFile = config.get("log_file");
  19. String logLevel = config.get("log_level");
  20. if (logFile == null || logFile.isEmpty()) {
  21. validationResults.put("log_file", false);
  22. return validationResults;
  23. }
  24. if (logLevel == null || logLevel.isEmpty()) {
  25. validationResults.put("log_level", false);
  26. return validationResults;
  27. }
  28. // Validate log file exists
  29. File logFileObj = new File(logFile);
  30. if (!logFileObj.exists()) {
  31. validationResults.put("log_file", false);
  32. }
  33. // Validate log level
  34. if (!logLevel.equals("DEBUG") && !logLevel.equals("INFO") && !logLevel.equals("WARNING") && !logLevel.equals("ERROR") && !logLevel.equals("FATAL")) {
  35. validationResults.put("log_level", false);
  36. }
  37. return validationResults;
  38. }
  39. public static void main(String[] args) {
  40. //Example usage
  41. Map<String, String> config1 = new HashMap<>();
  42. config1.put("log_file", "test.log");
  43. config1.put("log_level", "INFO");
  44. Map<String, Boolean> results1 = validateLogConfigurations(config1);
  45. System.out.println(results1);
  46. Map<String, String> config2 = new HashMap<>();
  47. config2.put("log_file", "nonexistent.log");
  48. config2.put("log_level", "INVALID");
  49. Map<String, Boolean> results2 = validateLogConfigurations(config2);
  50. System.out.println(results2);
  51. }
  52. }

Add your comment