Package org.bgerp.util.log

# Class SessionLogAppender

java.lang.Object
org.apache.log4j.AppenderSkeleton
org.apache.log4j.WriterAppender
org.bgerp.util.log.SessionLogAppender

All Implemented Interfaces:
  `org.apache.log4j.Appender`, `org.apache.log4j.spi.OptionHandler`

public class SessionLogAppender extends org.apache.log4j.WriterAppender
In-memory log appender for the current user' session.

- ## Field Summary

  ### Fields inherited from class org.apache.log4j.WriterAppender

  `encoding, immediateFlush, qw`

  ### Fields inherited from class org.apache.log4j.AppenderSkeleton

  `closed, errorHandler, headFilter, layout, name, tailFilter, threshold`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SessionLogAppender()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static final String`
  `getSessionLog(javax.servlet.http.HttpSession session)`
  `static TrackedSession`
  `getTracked()`
  Found a tracked session for the current thread
  `static boolean`
  `isTracked(javax.servlet.http.HttpSession session)`
  `static final void`
  `track(javax.servlet.http.HttpSession session, boolean create)`
  Add to tracked the current thread for a session
  `static final void`
  `untrack()`
  Removes the current thread mapping to a tracked session
  `static final void`
  `untrack(javax.servlet.http.HttpSession session)`
  Removes references of all threads to a tracked session

  ### Methods inherited from class org.apache.log4j.WriterAppender

  `activateOptions, append, checkEntryConditions, close, closeWriter, createWriter, getEncoding, getImmediateFlush, requiresLayout, reset, setEncoding, setErrorHandler, setImmediateFlush, setWriter, shouldFlush, subAppend, writeFooter, writeHeader`

  ### Methods inherited from class org.apache.log4j.AppenderSkeleton

  `addFilter, clearFilters, doAppend, finalize, getErrorHandler, getFilter, getFirstFilter, getLayout, getName, getThreshold, isAsSevereAsThreshold, setLayout, setName, setThreshold`

  ### Methods inherited from class java.lang.Object

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

- ## Constructor Details

  - ### SessionLogAppender

    public SessionLogAppender()

- ## Method Details

  - ### track

    public static final void track(javax.servlet.http.HttpSession session, boolean create)
    Add to tracked the current thread for a session
    Parameters:
      `session` - the session

  - ### untrack

    public static final void untrack()
    Removes the current thread mapping to a tracked session

  - ### untrack

    public static final void untrack(javax.servlet.http.HttpSession session)
    Removes references of all threads to a tracked session
    Parameters:
      `session` - the session

  - ### getTracked

    public static TrackedSession getTracked()
    Found a tracked session for the current thread
    Returns:
      the found tracked session or `null`

  - ### isTracked

    public static boolean isTracked(javax.servlet.http.HttpSession session)

  - ### getSessionLog

    public static final String getSessionLog(javax.servlet.http.HttpSession session)