|
|
@ -4,6 +4,7 @@ package de.srsoftware.logging; |
|
|
|
import static de.srsoftware.logging.ConsoleColors.*; |
|
|
|
import static de.srsoftware.logging.ConsoleColors.*; |
|
|
|
import static java.lang.System.Logger.Level.*; |
|
|
|
import static java.lang.System.Logger.Level.*; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import java.text.DateFormat; |
|
|
|
import java.text.MessageFormat; |
|
|
|
import java.text.MessageFormat; |
|
|
|
import java.text.SimpleDateFormat; |
|
|
|
import java.text.SimpleDateFormat; |
|
|
|
import java.util.Date; |
|
|
|
import java.util.Date; |
|
|
@ -12,6 +13,9 @@ import java.util.ResourceBundle; |
|
|
|
public class ColorLogger implements System.Logger { |
|
|
|
public class ColorLogger implements System.Logger { |
|
|
|
private final String name; |
|
|
|
private final String name; |
|
|
|
private static int rootLevel = INFO.getSeverity(); |
|
|
|
private static int rootLevel = INFO.getSeverity(); |
|
|
|
|
|
|
|
private static DateFormat TIME = new SimpleDateFormat("hh:mm:ss.SSS"); |
|
|
|
|
|
|
|
private static DateFormat DATE = new SimpleDateFormat("yyyy-MM-dd"); |
|
|
|
|
|
|
|
private static String lastDate = null; |
|
|
|
|
|
|
|
|
|
|
|
public ColorLogger(String name) { |
|
|
|
public ColorLogger(String name) { |
|
|
|
this.name = name; |
|
|
|
this.name = name; |
|
|
@ -50,7 +54,12 @@ public class ColorLogger implements System.Logger { |
|
|
|
private static String colorize(String message, int severity) { |
|
|
|
private static String colorize(String message, int severity) { |
|
|
|
var color = severity >= ERROR.getSeverity() ? RED : severity >= WARNING.getSeverity() ? YELLOW : severity >= INFO.getSeverity() ? WHITE_BRIGHT : WHITE; |
|
|
|
var color = severity >= ERROR.getSeverity() ? RED : severity >= WARNING.getSeverity() ? YELLOW : severity >= INFO.getSeverity() ? WHITE_BRIGHT : WHITE; |
|
|
|
var date = new Date(); |
|
|
|
var date = new Date(); |
|
|
|
var FORMAT = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS"); |
|
|
|
var day =DATE.format(date); |
|
|
|
return WHITE + FORMAT.format(date) + " " + color + message + RESET; |
|
|
|
StringBuilder sb = new StringBuilder(); |
|
|
|
|
|
|
|
if (!day.equals(lastDate)){ |
|
|
|
|
|
|
|
lastDate = day; |
|
|
|
|
|
|
|
sb.append(WHITE).append(day).append("\n"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return sb.append(WHITE).append(TIME.format(date)).append(" ").append(color).append(message).append(RESET).toString(); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|