Class 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