StdOutErrLevel.java
/*
* StdOutErrLevel
*
* $Id: StdOutErrLevel.java 7868 2010-10-21 23:05:34Z jmfee $
* $URL: https://ehptools.cr.usgs.gov/svn/ProductDistribution/trunk/src/gov/usgs/earthquake/logging/StdOutErrLevel.java $
*/
package gov.usgs.util.logging;
import java.io.InvalidObjectException;
import java.io.ObjectStreamException;
import java.util.logging.Level;
/**
* Class defining 2 new Logging levels, one for STDOUT, one for STDERR.
*
* Used when multiplexing STDOUT and STDERR into the same rolling
* log file via the Java Logging APIs. From
* http://blogs.sun.com/nickstephen/entry/java_redirecting_system_out_and
*/
public class StdOutErrLevel extends Level {
private static final long serialVersionUID = 1L;
/**
* Private constructor
*/
private StdOutErrLevel(String name, int value) {
super(name, value);
}
/**
* Level for STDOUT activity.
*/
public static Level STDOUT = new StdOutErrLevel("STDOUT", Level.INFO
.intValue() + 53);
/**
* Level for STDERR activity
*/
public static Level STDERR = new StdOutErrLevel("STDERR", Level.INFO
.intValue() + 54);
/**
* Method to avoid creating duplicate instances when deserializing the
* object.
*
* @return the singleton instance of this <code>Level</code> value in this
* classloader
* @throws ObjectStreamException
* If unable to deserialize
*/
protected Object readResolve() throws ObjectStreamException {
if (this.intValue() == STDOUT.intValue())
return STDOUT;
if (this.intValue() == STDERR.intValue())
return STDERR;
throw new InvalidObjectException("Unknown instance :" + this);
}
}