import java.io.File;
import java.util.HashMap;
import java.util.Map;
public class LogFileValidator {
public static Map<String, Boolean> validateLogConfigurations(Map<String, String> config) {
Map<String, Boolean> validationResults = new HashMap<>();
// Validate required configuration
if (config == null || config.isEmpty()) {
validationResults.put("log_file", false);
validationResults.put("log_level", false);
return validationResults;
}
if (!config.containsKey("log_file") || !config.containsKey("log_level")) {
validationResults.put("log_file", false);
validationResults.put("log_level", false);
return validationResults;
}
String logFile = config.get("log_file");
String logLevel = config.get("log_level");
if (logFile == null || logFile.isEmpty()) {
validationResults.put("log_file", false);
return validationResults;
}
if (logLevel == null || logLevel.isEmpty()) {
validationResults.put("log_level", false);
return validationResults;
}
// Validate log file exists
File logFileObj = new File(logFile);
if (!logFileObj.exists()) {
validationResults.put("log_file", false);
}
// Validate log level
if (!logLevel.equals("DEBUG") && !logLevel.equals("INFO") && !logLevel.equals("WARNING") && !logLevel.equals("ERROR") && !logLevel.equals("FATAL")) {
validationResults.put("log_level", false);
}
return validationResults;
}
public static void main(String[] args) {
//Example usage
Map<String, String> config1 = new HashMap<>();
config1.put("log_file", "test.log");
config1.put("log_level", "INFO");
Map<String, Boolean> results1 = validateLogConfigurations(config1);
System.out.println(results1);
Map<String, String> config2 = new HashMap<>();
config2.put("log_file", "nonexistent.log");
config2.put("log_level", "INVALID");
Map<String, Boolean> results2 = validateLogConfigurations(config2);
System.out.println(results2);
}
}
Add your comment