Class HighlightConverter
- java.lang.Object
-
- org.apache.logging.log4j.core.pattern.AbstractPatternConverter
-
- org.apache.logging.log4j.core.pattern.LogEventPatternConverter
-
- org.apache.logging.log4j.core.pattern.HighlightConverter
-
- All Implemented Interfaces:
AnsiConverter,PatternConverter
@Plugin(name="highlight", category="Converter") public final class HighlightConverter extends LogEventPatternConverter implements AnsiConverter
Highlight pattern converter. Formats the result of a pattern using a color appropriate for the Level in the LogEvent.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:
DefaultLog4j- The same asDefaultLogback
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 optionnoConsoleNoAnsi=truee.g..%highlight{%d{ ISO8601 } [%t] %-5level: %msg%n%throwable}{STYLE=DEFAULT, noConsoleNoAnsi=true}
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.Map<java.lang.String,java.lang.String>DEFAULT_STYLESprivate java.lang.StringdefaultStyleprivate static java.lang.StringDISABLE_ANSI_KEYprivate java.util.Map<java.lang.String,java.lang.String>levelStylesprivate static java.util.Map<java.lang.String,java.lang.String>LOGBACK_STYLESprivate static java.lang.StringNO_CONSOLE_NO_ANSI_KEYprivate booleannoAnsiprivate java.util.List<PatternFormatter>patternFormattersprivate static java.lang.StringSTYLE_KEYprivate static java.lang.StringSTYLE_KEY_DEFAULTprivate static java.lang.StringSTYLE_KEY_LOGBACKprivate static java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>>STYLES-
Fields inherited from class org.apache.logging.log4j.core.pattern.AbstractPatternConverter
LOGGER
-
Fields inherited from interface org.apache.logging.log4j.core.pattern.PatternConverter
CATEGORY
-
-
Constructor Summary
Constructors Modifier Constructor Description privateHighlightConverter(java.util.List<PatternFormatter> patternFormatters, java.util.Map<java.lang.String,java.lang.String> levelStyles, boolean noAnsi)Construct the converter.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static java.util.Map<java.lang.String,java.lang.String>createLevelStyleMap(java.lang.String[] options)Creates a level style map where values are ANSI escape sequences given configuration options inoption[1].voidformat(LogEvent event, java.lang.StringBuilder toAppendTo)Formats an event into a string buffer.(package private) java.lang.StringgetLevelStyle(Level level)booleanhandlesThrowable()Tests whether this pattern converter is renders aThrowable.static HighlightConverternewInstance(Configuration config, java.lang.String[] options)Gets an instance of the class.-
Methods inherited from class org.apache.logging.log4j.core.pattern.LogEventPatternConverter
emptyVariableOutput, format, isVariable
-
Methods inherited from class org.apache.logging.log4j.core.pattern.AbstractPatternConverter
getName, getStyleClass
-
-
-
-
Field Detail
-
DEFAULT_STYLES
private static final java.util.Map<java.lang.String,java.lang.String> DEFAULT_STYLES
-
LOGBACK_STYLES
private static final java.util.Map<java.lang.String,java.lang.String> LOGBACK_STYLES
-
STYLE_KEY
private static final java.lang.String STYLE_KEY
- See Also:
- Constant Field Values
-
DISABLE_ANSI_KEY
private static final java.lang.String DISABLE_ANSI_KEY
- See Also:
- Constant Field Values
-
NO_CONSOLE_NO_ANSI_KEY
private static final java.lang.String NO_CONSOLE_NO_ANSI_KEY
- See Also:
- Constant Field Values
-
STYLE_KEY_DEFAULT
private static final java.lang.String STYLE_KEY_DEFAULT
- See Also:
- Constant Field Values
-
STYLE_KEY_LOGBACK
private static final java.lang.String STYLE_KEY_LOGBACK
- See Also:
- Constant Field Values
-
STYLES
private static final java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> STYLES
-
levelStyles
private final java.util.Map<java.lang.String,java.lang.String> levelStyles
-
patternFormatters
private final java.util.List<PatternFormatter> patternFormatters
-
noAnsi
private final boolean noAnsi
-
defaultStyle
private final java.lang.String defaultStyle
-
-
Constructor Detail
-
HighlightConverter
private HighlightConverter(java.util.List<PatternFormatter> patternFormatters, java.util.Map<java.lang.String,java.lang.String> levelStyles, boolean noAnsi)
Construct the converter.- Parameters:
patternFormatters- The PatternFormatters to generate the text to manipulate.noAnsi- If true, do not output ANSI escape codes.
-
-
Method Detail
-
createLevelStyleMap
private static java.util.Map<java.lang.String,java.lang.String> createLevelStyleMap(java.lang.String[] options)
Creates a level style map where values are ANSI escape sequences given configuration options inoption[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.
- Parameters:
options- The second slot can optionally contain the style map.- Returns:
- a new map
-
newInstance
public static HighlightConverter newInstance(Configuration config, java.lang.String[] options)
Gets an instance of the class.- Parameters:
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.- Returns:
- instance of class.
-
format
public void format(LogEvent event, java.lang.StringBuilder toAppendTo)
Formats an event into a string buffer.- Specified by:
formatin classLogEventPatternConverter- Parameters:
event- event to format, may not be null.toAppendTo- string buffer to which the formatted event will be appended. May not be null.
-
getLevelStyle
java.lang.String getLevelStyle(Level level)
-
handlesThrowable
public boolean handlesThrowable()
Description copied from class:LogEventPatternConverterTests whether this pattern converter is renders aThrowable.The
PatternParserchecks this flag when processing thealwaysWriteExceptionsoption: if no converter in the pattern handles throwables, the parser automatically appends a converter to ensure exceptions are still written.- Overrides:
handlesThrowablein classLogEventPatternConverter- Returns:
trueif this converter consumes and renders aThrowable,falseotherwise
-
-