<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_31) -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
Deprecated List (Apache Log4j 1.2.17 API)
</TITLE>

<META NAME="date" CONTENT="2012-06-09">

<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="Deprecated List (Apache Log4j 1.2.17 API)";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">
<HR>


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="index.html?deprecated-list.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<CENTER>
<H2>
<B>Deprecated API</B></H2>
</CENTER>
<HR SIZE="4" NOSHADE>
<B>Contents</B><UL>
<LI><A HREF="#class">Deprecated Classes</A>
<LI><A HREF="#field">Deprecated Fields</A>
<LI><A HREF="#method">Deprecated Methods</A>
<LI><A HREF="#constructor">Deprecated Constructors</A>
</UL>

<A NAME="class"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Deprecated Classes</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/jmx/Agent.html" title="class in org.apache.log4j.jmx">org.apache.log4j.jmx.Agent</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I></I>&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/spi/RootCategory.html" title="class in org.apache.log4j.spi">org.apache.log4j.spi.RootCategory</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Replaced by <A HREF="org/apache/log4j/spi/RootLogger.html" title="class in org.apache.log4j.spi"><CODE>RootLogger</CODE></A>.</I>&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<P>
<A NAME="field"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Deprecated Fields</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/varia/StringMatchFilter.html#ACCEPT_ON_MATCH_OPTION">org.apache.log4j.varia.StringMatchFilter.ACCEPT_ON_MATCH_OPTION</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Options are now handled using the JavaBeans paradigm.
     This constant is not longer needed and will be removed in the
     <em>near</em> term.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/EnhancedPatternLayout.html#BUF_SIZE">org.apache.log4j.EnhancedPatternLayout.BUF_SIZE</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>since 1.3</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/pattern/LogEvent.html#categoryName">org.apache.log4j.pattern.LogEvent.categoryName</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>This field will be marked as private in future
 releases. Please do not access it directly. Use the <A HREF="org/apache/log4j/pattern/LogEvent.html#getLoggerName()"><CODE>LogEvent.getLoggerName()</CODE></A> method instead.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/spi/LoggingEvent.html#categoryName">org.apache.log4j.spi.LoggingEvent.categoryName</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>This field will be marked as private in future
 releases. Please do not access it directly. Use the <A HREF="org/apache/log4j/spi/LoggingEvent.html#getLoggerName()"><CODE>LoggingEvent.getLoggerName()</CODE></A> method instead.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/helpers/LogLog.html#CONFIG_DEBUG_KEY">org.apache.log4j.helpers.LogLog.CONFIG_DEBUG_KEY</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Use <A HREF="org/apache/log4j/helpers/LogLog.html#DEBUG_KEY"><CODE>LogLog.DEBUG_KEY</CODE></A> instead.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/LogManager.html#CONFIGURATOR_CLASS_KEY">org.apache.log4j.LogManager.CONFIGURATOR_CLASS_KEY</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>This variable is for internal use only. It will
 become private in future versions.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/helpers/DateLayout.html#DATE_FORMAT_OPTION">org.apache.log4j.helpers.DateLayout.DATE_FORMAT_OPTION</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Options are now handled using the JavaBeans paradigm.
     This constant is not longer needed and will be removed in the
     <em>near</em> term.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/Priority.html#DEBUG">org.apache.log4j.Priority.DEBUG</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Use <A HREF="org/apache/log4j/Level.html#DEBUG"><CODE>Level.DEBUG</CODE></A> instead.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/LogManager.html#DEFAULT_CONFIGURATION_FILE">org.apache.log4j.LogManager.DEFAULT_CONFIGURATION_FILE</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>This variable is for internal use only. It will
 become package protected in future versions.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/LogManager.html#DEFAULT_CONFIGURATION_KEY">org.apache.log4j.LogManager.DEFAULT_CONFIGURATION_KEY</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>This variable is for internal use only. It will
 become private in future versions.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/LogManager.html#DEFAULT_INIT_OVERRIDE_KEY">org.apache.log4j.LogManager.DEFAULT_INIT_OVERRIDE_KEY</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>This variable is for internal use only. It will
 become private in future versions.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/Priority.html#ERROR">org.apache.log4j.Priority.ERROR</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Use <A HREF="org/apache/log4j/Level.html#ERROR"><CODE>Level.ERROR</CODE></A> instead.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/Priority.html#FATAL">org.apache.log4j.Priority.FATAL</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Use <A HREF="org/apache/log4j/Level.html#FATAL"><CODE>Level.FATAL</CODE></A> instead.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/Priority.html#INFO">org.apache.log4j.Priority.INFO</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Use <A HREF="org/apache/log4j/Level.html#INFO"><CODE>Level.INFO</CODE></A> instead.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/pattern/LogEvent.html#level">org.apache.log4j.pattern.LogEvent.level</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>This field will be marked as private in future
 releases. Please do not access it directly. Use the <A HREF="org/apache/log4j/pattern/LogEvent.html#getLevel()"><CODE>LogEvent.getLevel()</CODE></A> method instead.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/spi/LoggingEvent.html#level">org.apache.log4j.spi.LoggingEvent.level</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>This field will be marked as private in future
 releases. Please do not access it directly. Use the <A HREF="org/apache/log4j/spi/LoggingEvent.html#getLevel()"><CODE>LoggingEvent.getLevel()</CODE></A> method instead.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/HTMLLayout.html#LOCATION_INFO_OPTION">org.apache.log4j.HTMLLayout.LOCATION_INFO_OPTION</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Options are now handled using the JavaBeans paradigm.
     This constant is not longer needed and will be removed in the
     <em>near</em> term.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/EnhancedPatternLayout.html#MAX_CAPACITY">org.apache.log4j.EnhancedPatternLayout.MAX_CAPACITY</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>since 1.3</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/spi/Filter.html#next">org.apache.log4j.spi.Filter.next</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>As of 1.2.12, use <A HREF="org/apache/log4j/spi/Filter.html#getNext()"><CODE>Filter.getNext()</CODE></A> and <A HREF="org/apache/log4j/spi/Filter.html#setNext(org.apache.log4j.spi.Filter)"><CODE>Filter.setNext(org.apache.log4j.spi.Filter)</CODE></A> instead</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/varia/StringMatchFilter.html#STRING_TO_MATCH_OPTION">org.apache.log4j.varia.StringMatchFilter.STRING_TO_MATCH_OPTION</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Options are now handled using the JavaBeans paradigm.
     This constant is not longer needed and will be removed in the
     <em>near</em> term.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/helpers/DateLayout.html#TIMEZONE_OPTION">org.apache.log4j.helpers.DateLayout.TIMEZONE_OPTION</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Options are now handled using the JavaBeans paradigm.
     This constant is not longer needed and will be removed in the
     <em>near</em> term.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/Priority.html#WARN">org.apache.log4j.Priority.WARN</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Use <A HREF="org/apache/log4j/Level.html#WARN"><CODE>Level.WARN</CODE></A> instead.</I>&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<P>
<A NAME="method"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Deprecated Methods</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/Category.html#exists(java.lang.String)">org.apache.log4j.Category.exists(String)</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Please use <A HREF="org/apache/log4j/LogManager.html#exists(java.lang.String)"><CODE>LogManager.exists(java.lang.String)</CODE></A> instead.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/Priority.html#getAllPossiblePriorities()">org.apache.log4j.Priority.getAllPossiblePriorities()</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>This method will be removed with no replacement.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/Category.html#getChainedPriority()">org.apache.log4j.Category.getChainedPriority()</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Please use the the <A HREF="org/apache/log4j/Category.html#getEffectiveLevel()"><CODE>Category.getEffectiveLevel()</CODE></A> method
 instead.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/Hierarchy.html#getCurrentCategories()">org.apache.log4j.Hierarchy.getCurrentCategories()</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Please use <A HREF="org/apache/log4j/Hierarchy.html#getCurrentLoggers()"><CODE>Hierarchy.getCurrentLoggers()</CODE></A> instead.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/Category.html#getCurrentCategories()">org.apache.log4j.Category.getCurrentCategories()</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Please use <A HREF="org/apache/log4j/LogManager.html#getCurrentLoggers()"><CODE>LogManager.getCurrentLoggers()</CODE></A> instead.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/Category.html#getDefaultHierarchy()">org.apache.log4j.Category.getDefaultHierarchy()</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Please use <A HREF="org/apache/log4j/LogManager.html#getLoggerRepository()"><CODE>LogManager.getLoggerRepository()</CODE></A> instead.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/Category.html#getHierarchy()">org.apache.log4j.Category.getHierarchy()</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Please use <A HREF="org/apache/log4j/Category.html#getLoggerRepository()"><CODE>Category.getLoggerRepository()</CODE></A> instead.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/varia/NullAppender.html#getInstance()">org.apache.log4j.varia.NullAppender.getInstance()</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Use getNullAppender instead.  getInstance should have been static.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/Category.html#getInstance(java.lang.Class)">org.apache.log4j.Category.getInstance(Class)</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Please make sure to use <A HREF="org/apache/log4j/Logger.html#getLogger(java.lang.Class)"><CODE>Logger.getLogger(Class)</CODE></A> instead.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/Category.html#getInstance(java.lang.String)">org.apache.log4j.Category.getInstance(String)</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Make sure to use <A HREF="org/apache/log4j/Logger.html#getLogger(java.lang.String)"><CODE>Logger.getLogger(String)</CODE></A> instead.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/helpers/DateLayout.html#getOptionStrings()">org.apache.log4j.helpers.DateLayout.getOptionStrings()</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Use the setter method for the option directly instead
     of the generic <code>setOption</code> method.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/varia/StringMatchFilter.html#getOptionStrings()">org.apache.log4j.varia.StringMatchFilter.getOptionStrings()</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>We now use JavaBeans introspection to configure
     components. Options strings are no longer needed.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/varia/DenyAllFilter.html#getOptionStrings()">org.apache.log4j.varia.DenyAllFilter.getOptionStrings()</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>We now use JavaBeans introspection to configure
     components. Options strings are no longer needed.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/lf5/util/DateFormatManager.html#getOutputFormat()">org.apache.log4j.lf5.util.DateFormatManager.getOutputFormat()</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Use getPattern().</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/Category.html#getPriority()">org.apache.log4j.Category.getPriority()</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Please use <A HREF="org/apache/log4j/Category.html#getLevel()"><CODE>Category.getLevel()</CODE></A> instead.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/helpers/Loader.html#getResource(java.lang.String, java.lang.Class)">org.apache.log4j.helpers.Loader.getResource(String, Class)</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>as of 1.2.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/Category.html#getRoot()">org.apache.log4j.Category.getRoot()</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Please use <A HREF="org/apache/log4j/Logger.html#getRootLogger()"><CODE>Logger.getRootLogger()</CODE></A> instead.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/Hierarchy.html#overrideAsNeeded(java.lang.String)">org.apache.log4j.Hierarchy.overrideAsNeeded(String)</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Deprecated with no replacement.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#setAllDescendantsDeSelected()">org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode.setAllDescendantsDeSelected()</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I></I>&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNode.html#setAllDescendantsSelected()">org.apache.log4j.lf5.viewer.categoryexplorer.CategoryNode.setAllDescendantsSelected()</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I></I>&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/Hierarchy.html#setDisableOverride(java.lang.String)">org.apache.log4j.Hierarchy.setDisableOverride(String)</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Deprecated with no replacement.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/helpers/DateLayout.html#setOption(java.lang.String, java.lang.String)">org.apache.log4j.helpers.DateLayout.setOption(String, String)</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Use the setter method for the option directly instead
     of the generic <code>setOption</code> method.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/varia/StringMatchFilter.html#setOption(java.lang.String, java.lang.String)">org.apache.log4j.varia.StringMatchFilter.setOption(String, String)</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Use the setter method for the option directly instead
     of the generic <code>setOption</code> method.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/varia/DenyAllFilter.html#setOption(java.lang.String, java.lang.String)">org.apache.log4j.varia.DenyAllFilter.setOption(String, String)</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Use the setter method for the option directly instead
     of the generic <code>setOption</code> method.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/lf5/util/DateFormatManager.html#setOutputFormat(java.lang.String)">org.apache.log4j.lf5.util.DateFormatManager.setOutputFormat(String)</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Use setPattern().</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/Category.html#setPriority(org.apache.log4j.Priority)">org.apache.log4j.Category.setPriority(Priority)</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Please use <A HREF="org/apache/log4j/Category.html#setLevel(org.apache.log4j.Level)"><CODE>Category.setLevel(org.apache.log4j.Level)</CODE></A> instead.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/Category.html#shutdown()">org.apache.log4j.Category.shutdown()</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Please use <A HREF="org/apache/log4j/LogManager.html#shutdown()"><CODE>LogManager.shutdown()</CODE></A> instead.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/jmx/Agent.html#start()">org.apache.log4j.jmx.Agent.start()</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I></I>&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/Priority.html#toPriority(int)">org.apache.log4j.Priority.toPriority(int)</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Please use the <A HREF="org/apache/log4j/Level.html#toLevel(int)"><CODE>Level.toLevel(int)</CODE></A> method instead.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/Priority.html#toPriority(int, org.apache.log4j.Priority)">org.apache.log4j.Priority.toPriority(int, Priority)</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Please use the <A HREF="org/apache/log4j/Level.html#toLevel(int, org.apache.log4j.Level)"><CODE>Level.toLevel(int, Level)</CODE></A> method instead.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/Priority.html#toPriority(java.lang.String)">org.apache.log4j.Priority.toPriority(String)</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Please use the <A HREF="org/apache/log4j/Level.html#toLevel(java.lang.String)"><CODE>Level.toLevel(String)</CODE></A> method instead.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/Priority.html#toPriority(java.lang.String, org.apache.log4j.Priority)">org.apache.log4j.Priority.toPriority(String, Priority)</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>Please use the <A HREF="org/apache/log4j/Level.html#toLevel(java.lang.String, org.apache.log4j.Level)"><CODE>Level.toLevel(String, Level)</CODE></A> method instead.</I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/lf5/viewer/LogBrokerMonitor.html#trackTableScrollPane()">org.apache.log4j.lf5.viewer.LogBrokerMonitor.trackTableScrollPane()</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>tracking is now done automatically.</I>&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<P>
<A NAME="constructor"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Deprecated Constructors</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="org/apache/log4j/jmx/Agent.html#Agent()">org.apache.log4j.jmx.Agent()</A>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I></I>&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<P>
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="index.html?deprecated-list.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
Copyright &#169; 1999-2012 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>
