Class OneLineFormatter

  • Direct Known Subclasses:
    JsonFormatter

    public class OneLineFormatter
    extends Formatter
    Provides same information as default log format but on a single line to make it easier to grep the logs. The only exception is stacktraces which are always preceded by whitespace to make it simple to skip them.
    • Constructor Detail

      • OneLineFormatter

        public OneLineFormatter()
    • Method Detail

      • setTimeFormat

        public void setTimeFormat​(String timeFormat)
        Specify the time format to use for time stamps in log messages.
        Parameters:
        timeFormat - The format to use using the SimpleDateFormat syntax
      • getTimeFormat

        public String getTimeFormat()
        Obtain the format currently being used for time stamps in log messages.
        Returns:
        The current format in SimpleDateFormat syntax
      • addTimestamp

        protected void addTimestamp​(StringBuilder buf,
                                    long timestamp)
      • getThreadName

        protected static String getThreadName​(int logRecordThreadId)
        LogRecord has threadID but no thread name. LogRecord uses an int for thread ID but thread IDs are longs. If the real thread ID > (Integer.MAXVALUE / 2) LogRecord uses it's own ID in an effort to avoid clashes due to overflow.

        Words fail me to describe what I think of the design decision to use an int in LogRecord for a long value and the resulting mess that follows.

        Parameters:
        logRecordThreadId - the thread id
        Returns:
        the thread name