import Jakarta.util.Util; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.IOException; import java.io.PrintWriter; import java.io.Reader; import java.io.StringReader; import java.io.StringWriter; import java.io.UnsupportedEncodingException; import java.io.Writer; import java.util.logging.ConsoleHandler; import java.util.logging.Level; import java.util.logging.Logger; import java.util.logging.LogRecord; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.StringTokenizer; //-----------------------------------------------------------------------// // Logging classes and instances: //-----------------------------------------------------------------------// /** * Provides an implementation of {@link LogHandler} that prints onto * standard output (a "console"). Also provides an instance for * centralized logging output. * * @layer<bali> */ class LogHandler extends ConsoleHandler { final public static LogHandler CONSOLE = new LogHandler( "console" ) ; /** * Overrides {@link ConsoleHandler#publish(LogRecord)} to print a * labelled, single-line log message on {@link System#err}. * * @layer<bali> */ final public void publish( LogRecord record ) { record.setMessage( prefix + record.getMessage() ) ; super.publish( record ) ; } /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ /** * Private constructor to prevent external instantiation. * * @layer<bali> */ private LogHandler( String label ) { super() ; prefix = label + ": " ; setLevel( Level.ALL ) ; } final private String prefix ; }