@Plugin(name="highlight", category="Converter") public final class HighlightConverter extends LogEventPatternConverter implements AnsiConverter
For example:
%highlight{%d{ ISO8601 } [%t] %-5level: %msg%n%throwable}
You can define custom colors for each Level:
%highlight{%d{ ISO8601 } [%t] %-5level: %msg%n%throwable}{FATAL=red, ERROR=red, WARN=yellow, INFO=green, DEBUG=cyan, TRACE=black}
You can use a predefined style:
%highlight{%d{ ISO8601 } [%t] %-5level: %msg%n%throwable}{STYLE=DEFAULT}
The available predefined styles are:
Default
Log4j
- The same as Default
Logback
You can use whitespace around the comma and equal sign. The names in values MUST come from the AnsiEscape enum, case is normalized to upper-case internally.
To disable ANSI output unconditionally, specify an additional option disableAnsi=true
, or to
disable ANSI output if no console is detected, specify option noConsoleNoAnsi=true
e.g..
%highlight{%d{ ISO8601 } [%t] %-5level: %msg%n%throwable}{STYLE=DEFAULT, noConsoleNoAnsi=true}
Modifier and Type | Field and Description |
---|---|
private static java.util.Map<Level,java.lang.String> |
DEFAULT_STYLES |
private java.lang.String |
defaultStyle |
private java.util.Map<Level,java.lang.String> |
levelStyles |
private static java.util.Map<Level,java.lang.String> |
LOGBACK_STYLES |
private boolean |
noAnsi |
private java.util.List<PatternFormatter> |
patternFormatters |
private static java.lang.String |
STYLE_KEY |
private static java.lang.String |
STYLE_KEY_DEFAULT |
private static java.lang.String |
STYLE_KEY_LOGBACK |
private static java.util.Map<java.lang.String,java.util.Map<Level,java.lang.String>> |
STYLES |
LOGGER
CATEGORY
Modifier | Constructor and Description |
---|---|
private |
HighlightConverter(java.util.List<PatternFormatter> patternFormatters,
java.util.Map<Level,java.lang.String> levelStyles,
boolean noAnsi)
Construct the converter.
|
Modifier and Type | Method and Description |
---|---|
private static java.util.Map<Level,java.lang.String> |
createLevelStyleMap(java.lang.String[] options)
Creates a level style map where values are ANSI escape sequences given configuration options in
option[1]
. |
void |
format(LogEvent event,
java.lang.StringBuilder toAppendTo)
Formats an event into a string buffer.
|
(package private) java.lang.String |
getLevelStyle(Level level) |
boolean |
handlesThrowable()
Normally pattern converters are not meant to handle Exceptions although few pattern converters might.
|
static HighlightConverter |
newInstance(Configuration config,
java.lang.String[] options)
Gets an instance of the class.
|
format, isVariable
getName, getStyleClass
private static final java.util.Map<Level,java.lang.String> DEFAULT_STYLES
private static final java.util.Map<Level,java.lang.String> LOGBACK_STYLES
private static final java.lang.String STYLE_KEY
private static final java.lang.String STYLE_KEY_DEFAULT
private static final java.lang.String STYLE_KEY_LOGBACK
private static final java.util.Map<java.lang.String,java.util.Map<Level,java.lang.String>> STYLES
private final java.util.Map<Level,java.lang.String> levelStyles
private final java.util.List<PatternFormatter> patternFormatters
private final boolean noAnsi
private final java.lang.String defaultStyle
private HighlightConverter(java.util.List<PatternFormatter> patternFormatters, java.util.Map<Level,java.lang.String> levelStyles, boolean noAnsi)
patternFormatters
- The PatternFormatters to generate the text to manipulate.noAnsi
- If true, do not output ANSI escape codes.private static java.util.Map<Level,java.lang.String> createLevelStyleMap(java.lang.String[] options)
option[1]
.
The format of the option string in option[1]
is:
Level1=Value, Level2=Value, ...
For example:
ERROR=red bold, WARN=yellow bold, INFO=green, ...
You can use whitespace around the comma and equal sign. The names in values MUST come from the AnsiEscape enum, case is normalized to upper-case internally.
options
- The second slot can optionally contain the style map.public static HighlightConverter newInstance(Configuration config, java.lang.String[] options)
config
- The current Configuration.options
- pattern options, may be null. If first element is "short", only the first line of the
throwable will be formatted.public void format(LogEvent event, java.lang.StringBuilder toAppendTo)
format
in class LogEventPatternConverter
event
- event to format, may not be null.toAppendTo
- string buffer to which the formatted event will be appended. May not be null.java.lang.String getLevelStyle(Level level)
public boolean handlesThrowable()
LogEventPatternConverter
By examining the return values for this method, the containing layout will determine whether it handles throwables or not.
handlesThrowable
in class LogEventPatternConverter