|
What this is
Other links
The source codepackage org.apache.log4j; import java.io.File; import java.io.Writer; import java.io.FileWriter; import java.io.BufferedWriter; import org.apache.log4j.spi.LoggingEvent; import org.apache.log4j.helpers.OptionConverter; import org.apache.log4j.spi.ErrorHandler; /** TempFileAppender creates new unique file for each logging statement. @author Leos Literak @author Ceki Gülcü */ public class TempFileAppender extends AppenderSkeleton { /** A string constant used in naming the option for setting the directory where the log files will be created. Current value of this string constant is Path. java.io.tmpdir directory will be used, if ommited. */ static final public String PATH_OPTION = "Path"; /** The default path is actual directory. */ protected String path = null; /** A string constant used in naming the option for setting the prefix of the log files. It has to have at least 3 characters! Current value of this string constant is Prefix. */ static final public String PREFIX_OPTION = "Prefix"; /** The default path is actual directory. */ protected String prefix = "l4j_"; /** A string constant used in naming the option for setting the suffix of the log files. Current value of this string constant is Suffix. */ static final public String SUFFIX_OPTION = "Suffix"; /** The default path is actual directory. */ protected String suffix = ".tmp"; /** Default dir */ protected File dir = null; /** The default constructor simply calls its parent's constructor. */ public TempFileAppender() { super(); } /** Retuns the option names for this component */ public String[] getOptionStrings() { return OptionConverter.concatanateArrays(super.getOptionStrings(), new String[] {PATH_OPTION,PREFIX_OPTION,SUFFIX_OPTION}); } /** Set TempFileAppender specific options. The recognized options are Path, Prefix and Suffix, i.e. the values of the string constants {@link #PATH_OPTION}, {@link #PREFIX_OPTION} and respectively {@link #SUFFIX_OPTION}. The options of the super class {@link AppenderSkeleton} are also recognized. */ public void setOption(String key, String value) { super.setOption(key, value); if(key.equalsIgnoreCase(PATH_OPTION)) { path = value; if(path==null) { errorHandler.error("Path cannot be empty!",null,0); } dir = new File(path); if(!(dir.exists() && dir.isDirectory() && dir.canWrite())) { errorHandler.error("Cannot write to directory " + path + "!",null,0); } } else if(key.equalsIgnoreCase(PREFIX_OPTION)) { if(value!=null && value.length()>=3) { prefix = value; } else { errorHandler.error("Prefix cannot be shorter than 3 characters!", null,0); } } else if(key.equalsIgnoreCase(SUFFIX_OPTION)) { if(value!=null && value.length()>=1) { suffix = value; } else { errorHandler.error("Suffix cannot be empty!",null,0); } } } /** This method is called by {@link AppenderSkeleton#doAppend} method. |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.