1. import java.time.Duration;
  2. import java.time.LocalDateTime;
  3. import java.util.Date;
  4. public class LogFormatter {
  5. public static String formatLogEntry(String message, long durationMillis) {
  6. // Get current date and time
  7. LocalDateTime now = LocalDateTime.now();
  8. // Format the date and time
  9. String formattedDateTime = now.format();
  10. // Calculate and format the duration
  11. long durationSeconds = durationMillis / 1000;
  12. int hours = durationSeconds / 3600;
  13. int minutes = (durationSeconds % 3600) / 60;
  14. int seconds = durationSeconds % 60;
  15. String formattedDuration = String.format("%dh %dm %d", hours, minutes, seconds);
  16. // Construct the log entry string
  17. String logEntry = "[" + formattedDateTime + "] [Duration: " + formattedDuration + "] " + message;
  18. return logEntry;
  19. }
  20. public static void main(String[] args) {
  21. // Example usage
  22. String logMessage = "Processing data...";
  23. long timeoutDuration = 15000; // 15 seconds
  24. String formattedLog = formatLogEntry(logMessage, timeoutDuration);
  25. System.out.println(formattedLog);
  26. logMessage = "Database query completed.";
  27. timeoutDuration = 5000;
  28. formattedLog = formatLogEntry(logMessage, timeoutDuration);
  29. System.out.println(formattedLog);
  30. }
  31. }

Add your comment