Skip to content
Snippets Groups Projects
Commit e7e8d0ea authored by jkerdreu's avatar jkerdreu
Browse files

Added color to output..

git-svn-id: https://redmine.imt-atlantique.fr/svn/xaal/code/Java/branches/0.7@2614 b32b6428-25c9-4566-ad07-03861ab6144f
parent 1e07fe93
Branches
No related tags found
No related merge requests found
......@@ -4,6 +4,7 @@ import org.imta.xaal.lib.Engine;
import org.imta.xaal.lib.Message;
import java.io.IOException;
import java.lang.System.Logger;
......@@ -19,6 +20,7 @@ public class Dumper extends Engine {
}
public static void main (String[] args) throws IOException {
LogFormatter.install();
Dumper dumper = new Dumper();
dumper.init();
dumper.start();
......
package org.imta.xaal.tests;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.ConsoleHandler;
import java.util.logging.Formatter;
import java.util.logging.Level;
import java.util.logging.LogRecord;
import java.util.logging.Logger;
public class LogFormatter extends Formatter
{
// ANSI escape code
public static final String ANSI_RESET = "\u001B[0m";
public static final String ANSI_BLACK = "\u001B[30m";
public static final String ANSI_RED = "\u001B[31m";
public static final String ANSI_GREEN = "\u001B[32m";
public static final String ANSI_YELLOW = "\u001B[33m";
public static final String ANSI_BLUE = "\u001B[34m";
public static final String ANSI_PURPLE = "\u001B[35m";
public static final String ANSI_CYAN = "\u001B[36m";
public static final String ANSI_WHITE = "\u001B[37m";
// Here you can configure the format of the output and
// its color by using the ANSI escape codes defined above.
// format is called for every console log message
@Override
public String format(LogRecord record)
{
// This example will print date/time, class, and log level in yellow,
// followed by the log message and it's parameters in white .
StringBuilder builder = new StringBuilder();
builder.append(ANSI_WHITE);
builder.append(calcDate(record.getMillis()));
builder.append(ANSI_CYAN);
builder.append(" [");
builder.append(record.getSourceClassName());
builder.append("] ");
switch (record.getLevel().getName()) {
case "INFO":
builder.append(ANSI_GREEN);
break;
case "WARNING":
builder.append(ANSI_PURPLE);
break;
case "SEVERE":
builder.append(ANSI_RED);
break;
default:
builder.append(ANSI_BLUE);
break;
}
builder.append(record.getLevel().getName());
builder.append(": ");
builder.append(record.getMessage());
Object[] params = record.getParameters();
if (params != null)
{
builder.append("\t");
for (int i = 0; i < params.length; i++)
{
builder.append(params[i]);
if (i < params.length - 1)
builder.append(", ");
}
}
builder.append(ANSI_RESET);
builder.append("\n");
return builder.toString();
}
private String calcDate(long millisecs) {
SimpleDateFormat date_format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date resultdate = new Date(millisecs);
return date_format.format(resultdate);
}
public static void install() {
Logger rootLogger = Logger.getLogger("");
rootLogger.removeHandler(rootLogger.getHandlers()[0]);
rootLogger.setLevel(Level.ALL);
ConsoleHandler handler = new ConsoleHandler();
Formatter formatter = new LogFormatter();
handler.setFormatter(formatter);
handler.setLevel(Level.ALL);
rootLogger.addHandler(handler);
}
}
\ No newline at end of file
......@@ -12,6 +12,7 @@ public class TestLamp {
*/
public static void main(String[] args) throws Exception{
LogFormatter.install();
Engine eng = new Engine();
Lamp l1 = new Lamp(UUID.fromString("6265eb30-8c59-11e9-98b1-b827ebe99201"));
Lamp l2 = new Lamp(UUID.fromString("6265eb30-8c59-11e9-98b1-b827ebe99202"));
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment