Add pretty colours to console log levels
This commit is contained in:
parent
2235a32316
commit
bf673c5d8b
@ -3,7 +3,6 @@ package net.md_5.bungee.log;
|
||||
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
|
||||
import java.io.IOException;
|
||||
import java.util.logging.FileHandler;
|
||||
import java.util.logging.Formatter;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.LogRecord;
|
||||
import java.util.logging.Logger;
|
||||
@ -12,7 +11,6 @@ import jline.console.ConsoleReader;
|
||||
public class BungeeLogger extends Logger
|
||||
{
|
||||
|
||||
private final Formatter formatter = new ConciseFormatter();
|
||||
private final LogDispatcher dispatcher = new LogDispatcher( this );
|
||||
|
||||
@SuppressWarnings(
|
||||
@ -28,12 +26,12 @@ public class BungeeLogger extends Logger
|
||||
try
|
||||
{
|
||||
FileHandler fileHandler = new FileHandler( filePattern, 1 << 24, 8, true );
|
||||
fileHandler.setFormatter( formatter );
|
||||
fileHandler.setFormatter( new ConciseFormatter( false ) );
|
||||
addHandler( fileHandler );
|
||||
|
||||
ColouredWriter consoleHandler = new ColouredWriter( reader );
|
||||
consoleHandler.setLevel( Level.INFO );
|
||||
consoleHandler.setFormatter( formatter );
|
||||
consoleHandler.setFormatter( new ConciseFormatter( true ) );
|
||||
addHandler( consoleHandler );
|
||||
} catch ( IOException ex )
|
||||
{
|
||||
|
@ -5,12 +5,17 @@ import java.io.StringWriter;
|
||||
import java.text.DateFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.logging.Formatter;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.LogRecord;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import net.md_5.bungee.api.ChatColor;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
public class ConciseFormatter extends Formatter
|
||||
{
|
||||
|
||||
private final DateFormat date = new SimpleDateFormat( System.getProperty( "net.md_5.bungee.log-date-format", "HH:mm:ss" ) );
|
||||
private final boolean coloured;
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("ThrowableResultIgnored")
|
||||
@ -20,7 +25,7 @@ public class ConciseFormatter extends Formatter
|
||||
|
||||
formatted.append( date.format( record.getMillis() ) );
|
||||
formatted.append( " [" );
|
||||
formatted.append( record.getLevel().getLocalizedName() );
|
||||
appendLevel( formatted, record.getLevel() );
|
||||
formatted.append( "] " );
|
||||
formatted.append( formatMessage( record ) );
|
||||
formatted.append( '\n' );
|
||||
@ -34,4 +39,31 @@ public class ConciseFormatter extends Formatter
|
||||
|
||||
return formatted.toString();
|
||||
}
|
||||
|
||||
private void appendLevel(StringBuilder builder, Level level)
|
||||
{
|
||||
if ( !coloured )
|
||||
{
|
||||
builder.append( level.getLocalizedName() );
|
||||
return;
|
||||
}
|
||||
|
||||
ChatColor color;
|
||||
|
||||
if ( level == Level.INFO )
|
||||
{
|
||||
color = ChatColor.BLUE;
|
||||
} else if ( level == Level.WARNING )
|
||||
{
|
||||
color = ChatColor.YELLOW;
|
||||
} else if ( level == Level.SEVERE )
|
||||
{
|
||||
color = ChatColor.RED;
|
||||
} else
|
||||
{
|
||||
color = ChatColor.AQUA;
|
||||
}
|
||||
|
||||
builder.append( color ).append( level.getLocalizedName() ).append( ChatColor.RESET );
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user