Class JAnsiTextRenderer
- java.lang.Object
-
- org.apache.logging.log4j.core.pattern.JAnsiTextRenderer
-
- All Implemented Interfaces:
TextRenderer
public final class JAnsiTextRenderer extends Object implements TextRenderer
Renders an input as ANSI escaped output. Uses the JAnsi rendering syntax as the default to render a message into an ANSI escaped string. The default syntax for embedded ANSI codes is:@|code(,code)* text|@
For example, to render the message"Hello"
in green, use:@|green Hello|@
To render the message"Hello"
in bold and red, use:@|bold,red Warning!|@
You can also define custom style names in the configuration with the syntax:%message{ansi}{StyleName=value(,value)*( StyleName=value(,value)*)*}%n
For example:%message{ansi}{WarningStyle=red,bold KeyStyle=white ValueStyle=blue}%n
The call site can look like this:logger.info("@|KeyStyle {}|@ = @|ValueStyle {}|@", entry.getKey(), entry.getValue());
Note: This class originally copied and then heavily modified code from JAnsi's AnsiRenderer (which is licensed as Apache 2.0.)- See Also:
AnsiRenderer
-
-
Field Summary
Fields Modifier and Type Field Description static Map<String,org.fusesource.jansi.AnsiRenderer.Code[]>
DefaultExceptionStyleMap
-
Constructor Summary
Constructors Constructor Description JAnsiTextRenderer(String[] formats, Map<String,org.fusesource.jansi.AnsiRenderer.Code[]> defaultStyleMap)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Map<String,org.fusesource.jansi.AnsiRenderer.Code[]>
getStyleMap()
void
render(StringBuilder input, StringBuilder output)
Renders input text to an output.void
render(String input, StringBuilder output, String styleName)
Renders input text to an output.String
toString()
-
-
-
Method Detail
-
render
public void render(String input, StringBuilder output, String styleName) throws IllegalArgumentException
Description copied from interface:TextRenderer
Renders input text to an output.- Specified by:
render
in interfaceTextRenderer
- Parameters:
input
- The inputoutput
- The outputstyleName
- The style name to use to render the input on the output.- Throws:
IllegalArgumentException
-
render
public void render(StringBuilder input, StringBuilder output) throws IllegalArgumentException
Description copied from interface:TextRenderer
Renders input text to an output.- Specified by:
render
in interfaceTextRenderer
- Parameters:
input
- The inputoutput
- The output- Throws:
IllegalArgumentException
-
-