java.lang.Object
org.refcodes.logger.alt.console.AbstractConsoleLogger<Object>
org.refcodes.logger.alt.console.ConsoleLogger
All Implemented Interfaces:
org.refcodes.component.Destroyable, org.refcodes.logger.ColumnLayoutAccessor, org.refcodes.logger.ColumnLayoutAccessor.ColumnLayoutBuilder<ConsoleLogger>, org.refcodes.logger.ColumnLayoutAccessor.ColumnLayoutMutator, org.refcodes.logger.ColumnLayoutAccessor.ColumnLayoutProperty, org.refcodes.logger.LogDecorator, org.refcodes.logger.Logger<Object>, org.refcodes.mixin.ErrorPrintStreamAccessor, org.refcodes.mixin.ErrorPrintStreamAccessor.ErrorPrintStreamBuilder<AbstractConsoleLogger<Object>>, org.refcodes.mixin.ErrorPrintStreamAccessor.ErrorPrintStreamMutator, org.refcodes.mixin.ErrorPrintStreamAccessor.ErrorPrintStreamProperty, org.refcodes.mixin.RowWidthAccessor, org.refcodes.mixin.RowWidthAccessor.RowWidthBuilder<AbstractConsoleLogger<?>>, org.refcodes.mixin.RowWidthAccessor.RowWidthMutator, org.refcodes.mixin.RowWidthAccessor.RowWidthProperty, org.refcodes.mixin.StandardPrintStreamAccessor, org.refcodes.mixin.StandardPrintStreamAccessor.StandardPrintStreamBuilder<AbstractConsoleLogger<Object>>, org.refcodes.mixin.StandardPrintStreamAccessor.StandardPrintStreamMutator, org.refcodes.mixin.StandardPrintStreamAccessor.StandardPrintStreamProperty, org.refcodes.textual.TableStyleAccessor, org.refcodes.textual.TableStyleAccessor.TableStyleBuilder<AbstractConsoleLogger<?>>, org.refcodes.textual.TableStyleAccessor.TableStyleMutator, org.refcodes.textual.TableStyleAccessor.TableStyleProperty
Direct Known Subclasses:
ConsoleLoggerSingleton

public class ConsoleLogger extends AbstractConsoleLogger<Object> implements org.refcodes.logger.ColumnLayoutAccessor.ColumnLayoutProperty, org.refcodes.logger.ColumnLayoutAccessor.ColumnLayoutBuilder<ConsoleLogger>
Specialized subclass of the AbstractConsoleLogger for handling RuntimeLogger's logs with ANSI Escape-Codes.
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.refcodes.logger.alt.console.AbstractConsoleLogger

    AbstractConsoleLogger.OutputPrintStream

    Nested classes/interfaces inherited from interface org.refcodes.logger.ColumnLayoutAccessor

    org.refcodes.logger.ColumnLayoutAccessor.ColumnLayoutBuilder<B extends org.refcodes.logger.ColumnLayoutAccessor.ColumnLayoutBuilder<B>>, org.refcodes.logger.ColumnLayoutAccessor.ColumnLayoutMutator, org.refcodes.logger.ColumnLayoutAccessor.ColumnLayoutProperty

    Nested classes/interfaces inherited from interface org.refcodes.component.Destroyable

    org.refcodes.component.Destroyable.DestroyAutomaton

    Nested classes/interfaces inherited from interface org.refcodes.mixin.ErrorPrintStreamAccessor

    org.refcodes.mixin.ErrorPrintStreamAccessor.ErrorPrintStreamBuilder<B extends org.refcodes.mixin.ErrorPrintStreamAccessor.ErrorPrintStreamBuilder<?>>, org.refcodes.mixin.ErrorPrintStreamAccessor.ErrorPrintStreamMutator, org.refcodes.mixin.ErrorPrintStreamAccessor.ErrorPrintStreamProperty

    Nested classes/interfaces inherited from interface org.refcodes.mixin.RowWidthAccessor

    org.refcodes.mixin.RowWidthAccessor.RowWidthBuilder<B extends org.refcodes.mixin.RowWidthAccessor.RowWidthBuilder<?>>, org.refcodes.mixin.RowWidthAccessor.RowWidthMutator, org.refcodes.mixin.RowWidthAccessor.RowWidthProperty

    Nested classes/interfaces inherited from interface org.refcodes.mixin.StandardPrintStreamAccessor

    org.refcodes.mixin.StandardPrintStreamAccessor.StandardPrintStreamBuilder<B extends org.refcodes.mixin.StandardPrintStreamAccessor.StandardPrintStreamBuilder<?>>, org.refcodes.mixin.StandardPrintStreamAccessor.StandardPrintStreamMutator, org.refcodes.mixin.StandardPrintStreamAccessor.StandardPrintStreamProperty

    Nested classes/interfaces inherited from interface org.refcodes.textual.TableStyleAccessor

    org.refcodes.textual.TableStyleAccessor.TableStyleBuilder<B extends org.refcodes.textual.TableStyleAccessor.TableStyleBuilder<?>>, org.refcodes.textual.TableStyleAccessor.TableStyleMutator, org.refcodes.textual.TableStyleAccessor.TableStyleProperty
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected org.refcodes.textual.TableBuilder
     
    protected org.refcodes.textual.TableBuilder
     
    protected org.refcodes.tabular.FormattedHeader<Object>
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    Instantiates a new console logger impl.
    ConsoleLogger(org.refcodes.logger.ColumnLayout aLoggerLayout)
    Instantiates a new console logger impl.
  • Method Summary

    Modifier and Type
    Method
    Description
    org.refcodes.logger.ColumnLayout
    protected void
    Initializes the logger.
    void
    log(org.refcodes.tabular.Record<? extends Object> aRecord)
    protected void
    printException(Throwable theException)
    Prints the exception.
    void
    void
    setColumnLayout(org.refcodes.logger.ColumnLayout aColumnLayout)
    void
    setLayout(String aLoggerLayout)
    Convenience method for setLoggerLayout(String): As the underlying configuration framework used by the RuntimeLoggerSingleton cannot convert a String to an enum, we got to provide such a method ourselves.
    void
    setLoggerLayout(String aLoggerLayout)
    As the underlying configuration framework used by the RuntimeLoggerSingleton cannot convert a String to an enum, we got to provide such a method ourselves.
    protected static org.refcodes.logger.ColumnLayout
    To logger layout.
    protected static org.refcodes.logger.ColumnLayout
    toLoggerLayout(org.refcodes.logger.ColumnLayout aLoggerLayout)
    Determines the ColumnLayout by evaluating the SystemProperty.LOGGER_LAYOUT and the EnvironmentVariable.LOGGER_LAYOUT (in this order).
    protected static org.refcodes.textual.TableStyle
    Determines the TableStyle by evaluating the SystemProperty.LOGGER_STYLE and the EnvironmentVariable.LOGGER_STYLE (in this order).
    withColumnLayout(org.refcodes.logger.ColumnLayout aColumnLayout)
    withErrorPrintStream(PrintStream aErrorPrintStream)
    withEscapeCodes(boolean isEscCodesEnabled)
    With escape codes.
    withLeftBorder(boolean hasLeftBorder)
    With left border.
    withRightBorder(boolean hasRightBorder)
    With right border.
    withRowWidth(int aRowWidth)
    withStandardPrintStream(PrintStream aStandardPrintStream)
    withTableStyle(org.refcodes.textual.TableStyle aTableStyle)

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.refcodes.logger.ColumnLayoutAccessor.ColumnLayoutProperty

    letColumnLayout

    Methods inherited from interface org.refcodes.mixin.ErrorPrintStreamAccessor.ErrorPrintStreamProperty

    letErrorPrintStream

    Methods inherited from interface org.refcodes.mixin.RowWidthAccessor.RowWidthProperty

    letRowWidth

    Methods inherited from interface org.refcodes.mixin.StandardPrintStreamAccessor.StandardPrintStreamProperty

    letStandardPrintStream

    Methods inherited from interface org.refcodes.textual.TableStyleAccessor.TableStyleProperty

    letTableStyle
  • Field Details

    • _errorBuilder

      protected org.refcodes.textual.TableBuilder _errorBuilder
    • _standardBuilder

      protected org.refcodes.textual.TableBuilder _standardBuilder
    • _standardHeader

      protected org.refcodes.tabular.FormattedHeader<Object> _standardHeader
  • Constructor Details

    • ConsoleLogger

      public ConsoleLogger()
      Instantiates a new console logger impl.
    • ConsoleLogger

      public ConsoleLogger(org.refcodes.logger.ColumnLayout aLoggerLayout)
      Instantiates a new console logger impl.
      Parameters:
      aLoggerLayout - the logger layout
  • Method Details

    • getColumnLayout

      public org.refcodes.logger.ColumnLayout getColumnLayout()
      Specified by:
      getColumnLayout in interface org.refcodes.logger.ColumnLayoutAccessor
    • setColumnLayout

      public void setColumnLayout(org.refcodes.logger.ColumnLayout aColumnLayout)
      Specified by:
      setColumnLayout in interface org.refcodes.logger.ColumnLayoutAccessor.ColumnLayoutMutator
    • log

      public void log(org.refcodes.tabular.Record<? extends Object> aRecord)
      Specified by:
      log in interface org.refcodes.logger.Logger<Object>
      Overrides:
      log in class AbstractConsoleLogger<Object>
    • printTail

      public void printTail()
      Specified by:
      printTail in interface org.refcodes.logger.LogDecorator
      Overrides:
      printTail in class AbstractConsoleLogger<Object>
    • withColumnLayout

      public ConsoleLogger withColumnLayout(org.refcodes.logger.ColumnLayout aColumnLayout)
      Specified by:
      withColumnLayout in interface org.refcodes.logger.ColumnLayoutAccessor.ColumnLayoutBuilder<ConsoleLogger>
    • withTableStyle

      public ConsoleLogger withTableStyle(org.refcodes.textual.TableStyle aTableStyle)
      Specified by:
      withTableStyle in interface org.refcodes.textual.TableStyleAccessor.TableStyleBuilder<AbstractConsoleLogger<?>>
      Overrides:
      withTableStyle in class AbstractConsoleLogger<Object>
    • withRowWidth

      public ConsoleLogger withRowWidth(int aRowWidth)
      Specified by:
      withRowWidth in interface org.refcodes.mixin.RowWidthAccessor.RowWidthBuilder<AbstractConsoleLogger<?>>
      Overrides:
      withRowWidth in class AbstractConsoleLogger<Object>
    • withEscapeCodes

      public ConsoleLogger withEscapeCodes(boolean isEscCodesEnabled)
      With escape codes.
      Overrides:
      withEscapeCodes in class AbstractConsoleLogger<Object>
      Parameters:
      isEscCodesEnabled - the is esc codes enabled
      Returns:
      the formatted logger
    • withLeftBorder

      public ConsoleLogger withLeftBorder(boolean hasLeftBorder)
      With left border.
      Overrides:
      withLeftBorder in class AbstractConsoleLogger<Object>
      Parameters:
      hasLeftBorder - the has left border
      Returns:
      the formatted logger
    • withRightBorder

      public ConsoleLogger withRightBorder(boolean hasRightBorder)
      With right border.
      Overrides:
      withRightBorder in class AbstractConsoleLogger<Object>
      Parameters:
      hasRightBorder - the has right border
      Returns:
      the formatted logger
    • withErrorPrintStream

      public ConsoleLogger withErrorPrintStream(PrintStream aErrorPrintStream)
      Specified by:
      withErrorPrintStream in interface org.refcodes.mixin.ErrorPrintStreamAccessor.ErrorPrintStreamBuilder<AbstractConsoleLogger<Object>>
      Overrides:
      withErrorPrintStream in class AbstractConsoleLogger<Object>
    • withStandardPrintStream

      public ConsoleLogger withStandardPrintStream(PrintStream aStandardPrintStream)
      Specified by:
      withStandardPrintStream in interface org.refcodes.mixin.StandardPrintStreamAccessor.StandardPrintStreamBuilder<AbstractConsoleLogger<Object>>
      Overrides:
      withStandardPrintStream in class AbstractConsoleLogger<Object>
    • setLoggerLayout

      public void setLoggerLayout(String aLoggerLayout)
      As the underlying configuration framework used by the RuntimeLoggerSingleton cannot convert a String to an enum, we got to provide such a method ourselves. When configuring programmatically use setColumnLayout(ColumnLayout), when using the "runtimelogger-config.xml" use the property "loggerLayout" for this method to be invoked. Valid arguments are as of the ColumnLayout enumeration:
      • GRANDPA
      • SUPERUSER
      • FALLBACK
      • DEVELOPER
      • DEVOPS
      • ENDUSER
      • ANALYST
      Parameters:
      aLoggerLayout - the new logger layout
    • setLayout

      public void setLayout(String aLoggerLayout)
      Convenience method for setLoggerLayout(String): As the underlying configuration framework used by the RuntimeLoggerSingleton cannot convert a String to an enum, we got to provide such a method ourselves. When configuring programmatically use setColumnLayout(ColumnLayout), when using the "runtimelogger-config.xml" use the property "loggerLayout" for this method to be invoked. Valid arguments are as of the ColumnLayout enumeration:
      • GRANDPA
      • SUPERUSER
      • FALLBACK
      • DEVELOPER
      • DEVOPS
      • ENDUSER
      • ANALYST
      Parameters:
      aLoggerLayout - the new logger layout
    • toLoggerLayout

      protected static org.refcodes.logger.ColumnLayout toLoggerLayout(org.refcodes.logger.ColumnLayout aLoggerLayout)
      Determines the ColumnLayout by evaluating the SystemProperty.LOGGER_LAYOUT and the EnvironmentVariable.LOGGER_LAYOUT (in this order). If none (valid) layout was determinable, then the ColumnLayout.SUPERUSER is returned.
      Parameters:
      aLoggerLayout - the logger layout
      Returns:
      The ColumnLayout to be used.
    • toLoggerLayout

      protected static org.refcodes.logger.ColumnLayout toLoggerLayout()
      To logger layout.
      Returns:
      the column layout
    • toShortcutLoggerStyle

      protected static org.refcodes.textual.TableStyle toShortcutLoggerStyle()
      Determines the TableStyle by evaluating the SystemProperty.LOGGER_STYLE and the EnvironmentVariable.LOGGER_STYLE (in this order). If none (valid) style was determinable, then a proposed style is returned.
      Returns:
      The TableStyle to be used.
    • printException

      protected void printException(Throwable theException)
      Prints the exception.
      Parameters:
      theException - the the exception
    • init

      protected void init()
      Initializes the logger.
      Overrides:
      init in class AbstractConsoleLogger<Object>