public final class JAnsiTextRenderer extends java.lang.Object implements TextRenderer
@|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)*)*}%nFor example:
%message{ansi}{WarningStyle=red,bold KeyStyle=white ValueStyle=blue}%nThe 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.)
AnsiRenderer
Modifier and Type | Field and Description |
---|---|
private java.lang.String |
beginToken |
private int |
beginTokenLen |
static java.util.Map<java.lang.String,org.fusesource.jansi.AnsiRenderer.Code[]> |
DefaultExceptionStyleMap |
(package private) static java.util.Map<java.lang.String,org.fusesource.jansi.AnsiRenderer.Code[]> |
DefaultMessageStyleMap |
private java.lang.String |
endToken |
private int |
endTokenLen |
private static java.util.Map<java.lang.String,java.util.Map<java.lang.String,org.fusesource.jansi.AnsiRenderer.Code[]>> |
PrefedinedStyleMaps |
private java.util.Map<java.lang.String,org.fusesource.jansi.AnsiRenderer.Code[]> |
styleMap |
Constructor and Description |
---|
JAnsiTextRenderer(java.lang.String[] formats,
java.util.Map<java.lang.String,org.fusesource.jansi.AnsiRenderer.Code[]> defaultStyleMap) |
Modifier and Type | Method and Description |
---|---|
java.util.Map<java.lang.String,org.fusesource.jansi.AnsiRenderer.Code[]> |
getStyleMap() |
private static void |
put(java.util.Map<java.lang.String,org.fusesource.jansi.AnsiRenderer.Code[]> map,
java.lang.String name,
org.fusesource.jansi.AnsiRenderer.Code... codes) |
private void |
render(org.fusesource.jansi.Ansi ansi,
org.fusesource.jansi.AnsiRenderer.Code... codes) |
private void |
render(org.fusesource.jansi.Ansi ansi,
org.fusesource.jansi.AnsiRenderer.Code code) |
void |
render(java.lang.StringBuilder input,
java.lang.StringBuilder output)
Renders input text to an output.
|
private java.lang.String |
render(java.lang.String text,
java.lang.String... names)
Renders the given text with the given names which can be ANSI code names or Log4j style names.
|
void |
render(java.lang.String input,
java.lang.StringBuilder output,
java.lang.String styleName)
Renders input text to an output.
|
private org.fusesource.jansi.AnsiRenderer.Code |
toCode(java.lang.String name) |
java.lang.String |
toString() |
public static final java.util.Map<java.lang.String,org.fusesource.jansi.AnsiRenderer.Code[]> DefaultExceptionStyleMap
static final java.util.Map<java.lang.String,org.fusesource.jansi.AnsiRenderer.Code[]> DefaultMessageStyleMap
private static final java.util.Map<java.lang.String,java.util.Map<java.lang.String,org.fusesource.jansi.AnsiRenderer.Code[]>> PrefedinedStyleMaps
private final java.lang.String beginToken
private final int beginTokenLen
private final java.lang.String endToken
private final int endTokenLen
private final java.util.Map<java.lang.String,org.fusesource.jansi.AnsiRenderer.Code[]> styleMap
public JAnsiTextRenderer(java.lang.String[] formats, java.util.Map<java.lang.String,org.fusesource.jansi.AnsiRenderer.Code[]> defaultStyleMap)
private static void put(java.util.Map<java.lang.String,org.fusesource.jansi.AnsiRenderer.Code[]> map, java.lang.String name, org.fusesource.jansi.AnsiRenderer.Code... codes)
public java.util.Map<java.lang.String,org.fusesource.jansi.AnsiRenderer.Code[]> getStyleMap()
private void render(org.fusesource.jansi.Ansi ansi, org.fusesource.jansi.AnsiRenderer.Code code)
private void render(org.fusesource.jansi.Ansi ansi, org.fusesource.jansi.AnsiRenderer.Code... codes)
private java.lang.String render(java.lang.String text, java.lang.String... names)
text
- The text to rendernames
- ANSI code names or Log4j style names.public void render(java.lang.String input, java.lang.StringBuilder output, java.lang.String styleName) throws java.lang.IllegalArgumentException
TextRenderer
render
in interface TextRenderer
input
- The inputoutput
- The outputstyleName
- The style name to use to render the input on the output.java.lang.IllegalArgumentException
public void render(java.lang.StringBuilder input, java.lang.StringBuilder output) throws java.lang.IllegalArgumentException
TextRenderer
render
in interface TextRenderer
input
- The inputoutput
- The outputjava.lang.IllegalArgumentException
private org.fusesource.jansi.AnsiRenderer.Code toCode(java.lang.String name)
public java.lang.String toString()
toString
in class java.lang.Object