MemoryHandler


MemoryHandler java.util.logging

Java 1.4

A MemoryHandler stores LogRecord objects in a fixed- sized buffer in memory. When the buffer fills up, it discards the oldest record one each time a new record arrives. It maintains a reference to another Handler object, and whenever the push( ) method is called, or whenver a LogRecord arrives with a level at or higher than the pushLevel threshold, it "pushes" all of buffered LogRecord objects to that other Handler object, which typically formats and outputs them to some appropriate destination. Because MemoryHandler never outputs log records itself, it does not use the formatter or encoding properties inherited from its superclass.

When you create a MemoryHandler , you can specify the target Handler object, the size of the in-memory buffer, and the value of the pushLevel property, or you can omit these constructor arguments and rely on system-wide defaults obtained with LogManager.getProperty( ) . MemoryHandler also uses LogManager.getProperty( ) to obtain initial values for the level and filter properties inherited from Handler . The table below lists these properties, as well as the target , size , and pushLevel constructor arguments, the value passed to getProperty( ) , and the default value used if getProperty( ) returns null . See Handler for further details.

Property or argument

LogManager property name

Default

level

java.util.logging.MemoryHandler.level

Level.ALL

filter

java.util.logging.MemoryHandler.filter

null

target

java.util.logging.MemoryHandler.target

no default

size

java.util.logging.MemoryHandler.size

1000 log records

pushLevel

java.util.logging.MemoryHandler.push

Level.SEVERE


Figure 16-119. java.util.logging.MemoryHandler

 public class  MemoryHandler  extends Handler {  // Public Constructors  public  MemoryHandler  ( );        public  MemoryHandler  (Handler  target  , int  size  , Level  pushLevel  );  // Public Instance Methods  public Level  getPushLevel  ( );  synchronized  public void  push  ( );  synchronized  public void  setPushLevel  (Level  newLevel  ) throws SecurityException;  // Public Methods Overriding Handler  public void  close  ( ) throws SecurityException;        public void  flush  ( );        public boolean  isLoggable  (LogRecord  record  );        public void  publish  (LogRecord  record  );  synchronized  } 



Java In A Nutshell
Java In A Nutshell, 5th Edition
ISBN: 0596007736
EAN: 2147483647
Year: 2004
Pages: 1220

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net