## org.apache.log4j
Class TTCCLayout

    java.lang.Object
      org.apache.log4j.Layout
          org.apache.log4j.helpers.DateLayout
              org.apache.log4j.TTCCLayout

All Implemented Interfaces:
  OptionHandler

    public class TTCCLayout

extends DateLayout

TTCC layout format consists of time, thread, category and nested diagnostic context information, hence the name.

Each of the four fields can be individually enabled or disabled. The time format depends on the `DateFormat` used.

Here is an example TTCCLayout output with the `RelativeTimeDateFormat`.

    176 [main] INFO  org.apache.log4j.examples.Sort - Populating an array of 2 elements in reverse order.
    225 [main] INFO  org.apache.log4j.examples.SortAlgo - Entered the sort method.
    262 [main] DEBUG org.apache.log4j.examples.SortAlgo.OUTER i=1 - Outer loop.
    276 [main] DEBUG org.apache.log4j.examples.SortAlgo.SWAP i=1 j=0 - Swapping intArray[0] = 1 and intArray[1] = 0
    290 [main] DEBUG org.apache.log4j.examples.SortAlgo.OUTER i=0 - Outer loop.
    304 [main] INFO  org.apache.log4j.examples.SortAlgo.DUMP - Dump of interger array:
    317 [main] INFO  org.apache.log4j.examples.SortAlgo.DUMP - Element [0] = 0
    331 [main] INFO  org.apache.log4j.examples.SortAlgo.DUMP - Element [1] = 1
    343 [main] INFO  org.apache.log4j.examples.Sort - The next log statement should be an error message.
    346 [main] ERROR org.apache.log4j.examples.SortAlgo.DUMP - Tried to dump an uninitialized array.
            at org.apache.log4j.examples.SortAlgo.dump(SortAlgo.java:58)
            at org.apache.log4j.examples.Sort.main(Sort.java:64)
    467 [main] INFO  org.apache.log4j.examples.Sort - Exiting main method.

The first field is the number of milliseconds elapsed since the start of the program. The second field is the thread outputting the log statement. The third field is the level, the fourth field is the category to which the statement belongs.

The fifth field (just before the '-') is the nested diagnostic context. Note the nested diagnostic context may be empty as in the first two statements. The text after the '-' is the message of the statement.

WARNING Do not use the same TTCCLayout instance from within different appenders. The TTCCLayout is not thread safe when used in his way. However, it is perfectly safe to use a TTCCLayout instance from just one appender.

`PatternLayout` offers a much more flexible alternative.

Author:
  Ceki Gülcü, Heinz Richter

Field Summary
`protected StringBuffer` `buf`

Fields inherited from class org.apache.log4j.helpers.DateLayout
`date, DATE_FORMAT_OPTION, dateFormat, NULL_DATE_FORMAT, pos, RELATIVE_TIME_DATE_FORMAT, TIMEZONE_OPTION`

Fields inherited from class org.apache.log4j.Layout
`LINE_SEP, LINE_SEP_LEN`

Constructor Summary
`TTCCLayout()` Instantiate a TTCCLayout object with `RelativeTimeDateFormat` as the date formatter in the local time zone.
`TTCCLayout(String dateFormatType)` Instantiate a TTCCLayout object using the local time zone.

Method Summary
`String` `format(LoggingEvent event)` In addition to the level of the statement and message, the returned byte array includes time, thread, category and `NDC` information.
`boolean` `getCategoryPrefixing()` Returns value of the CategoryPrefixing option.
`boolean` `getContextPrinting()` Returns value of the ContextPrinting option.
`boolean` `getThreadPrinting()` Returns value of the ThreadPrinting option.
`boolean` `ignoresThrowable()` The TTCCLayout does not handle the throwable contained within `LoggingEvents`.
`void` `setCategoryPrefixing(boolean categoryPrefixing)` The CategoryPrefixing option specifies whether `Category` name is part of log output or not.
`void` `setContextPrinting(boolean contextPrinting)` The ContextPrinting option specifies log output will include the nested context information belonging to the current thread.
`void` `setThreadPrinting(boolean threadPrinting)` The ThreadPrinting option specifies whether the name of the current thread is part of log output or not.

Methods inherited from class org.apache.log4j.helpers.DateLayout
`activateOptions, dateFormat, getDateFormat, getOptionStrings, getTimeZone, setDateFormat, setDateFormat, setDateFormat, setOption, setTimeZone`

Methods inherited from class org.apache.log4j.Layout
`getContentType, getFooter, getHeader`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### buf

    protected final StringBuffer buf

Constructor Detail

### TTCCLayout

    public TTCCLayout()

  Instantiate a TTCCLayout object with `RelativeTimeDateFormat` as the date formatter in the local time zone.

  Since:
    0.7.5

### TTCCLayout

    public TTCCLayout(String dateFormatType)

  Instantiate a TTCCLayout object using the local time zone. The DateFormat used will depend on the `dateFormatType`.

  This constructor just calls the `DateLayout.setDateFormat(java.lang.String)` method.

Method Detail

### setThreadPrinting

    public void setThreadPrinting(boolean threadPrinting)

  The ThreadPrinting option specifies whether the name of the current thread is part of log output or not. This is true by default.

### getThreadPrinting

    public boolean getThreadPrinting()

  Returns value of the ThreadPrinting option.

### setCategoryPrefixing

    public void setCategoryPrefixing(boolean categoryPrefixing)

  The CategoryPrefixing option specifies whether `Category` name is part of log output or not. This is true by default.

### getCategoryPrefixing

    public boolean getCategoryPrefixing()

  Returns value of the CategoryPrefixing option.

### setContextPrinting

    public void setContextPrinting(boolean contextPrinting)

  The ContextPrinting option specifies log output will include the nested context information belonging to the current thread. This is true by default.

### getContextPrinting

    public boolean getContextPrinting()

  Returns value of the ContextPrinting option.

### format

    public String format(LoggingEvent event)

  In addition to the level of the statement and message, the returned byte array includes time, thread, category and `NDC` information.

  Time, thread, category and diagnostic context are printed depending on options.

  Specified by:
    `format` in class `Layout`
  Parameters:
    `event` - The event to format

### ignoresThrowable

    public boolean ignoresThrowable()

  The TTCCLayout does not handle the throwable contained within `LoggingEvents`. Thus, it returns `true`.

  Specified by:
    `ignoresThrowable` in class `Layout`
  Since:
    version 0.8.4

Copyright © 1999-2010 Apache Software Foundation. All Rights Reserved.