<!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>
Logger (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="Logger (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">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Logger.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&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;<A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/apache/log4j/LogManager.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../index.html?org/apache/log4j/Logger.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="Logger.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>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.Category">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.log4j</FONT>
<BR>
Class Logger</H2>
<PRE>
<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
  <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">org.apache.log4j.Category</A>
      <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.apache.log4j.Logger</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/apache/log4j/spi/AppenderAttachable.html" title="interface in org.apache.log4j.spi">AppenderAttachable</A></DD>
</DL>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/apache/log4j/spi/NOPLogger.html" title="class in org.apache.log4j.spi">NOPLogger</A>, <A HREF="../../../org/apache/log4j/spi/RootCategory.html" title="class in org.apache.log4j.spi">RootCategory</A>, <A HREF="../../../org/apache/log4j/spi/RootLogger.html" title="class in org.apache.log4j.spi">RootLogger</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>Logger</B><DT>extends <A HREF="../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></DL>
</PRE>

<P>
This is the central class in the log4j package. Most logging
  operations, except configuration, are done through this class.
<P>

<P>
<DL>
<DT><B>Since:</B></DT>
  <DD>log4j 1.2</DD>
<DT><B>Author:</B></DT>
  <DD>Ceki G&uuml;lc&uuml;</DD>
</DL>
<HR>

<P>
<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></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>Field Summary</B></FONT></TH>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.apache.log4j.Category"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../org/apache/log4j/Category.html#additive">additive</A>, <A HREF="../../../org/apache/log4j/Category.html#level">level</A>, <A HREF="../../../org/apache/log4j/Category.html#name">name</A>, <A HREF="../../../org/apache/log4j/Category.html#parent">parent</A>, <A HREF="../../../org/apache/log4j/Category.html#repository">repository</A>, <A HREF="../../../org/apache/log4j/Category.html#resourceBundle">resourceBundle</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></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>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected </CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/Logger.html#Logger(java.lang.String)">Logger</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></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>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/Logger.html#getLogger(java.lang.Class)">getLogger</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;clazz)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Shorthand for <code>getLogger(clazz.getName())</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/Logger.html#getLogger(java.lang.String)">getLogger</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieve a logger named according to the value of the
 <code>name</code> parameter.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/Logger.html#getLogger(java.lang.String, org.apache.log4j.spi.LoggerFactory)">getLogger</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name,
          <A HREF="../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A>&nbsp;factory)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Like <A HREF="../../../org/apache/log4j/Logger.html#getLogger(java.lang.String)"><CODE>getLogger(String)</CODE></A> except that the type of logger
     instantiated depends on the type returned by the <A HREF="../../../org/apache/log4j/spi/LoggerFactory.html#makeNewLoggerInstance(java.lang.String)"><CODE>LoggerFactory.makeNewLoggerInstance(java.lang.String)</CODE></A> method of the
     <code>factory</code> parameter.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/Logger.html#getRootLogger()">getRootLogger</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the root logger for the current logger repository.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/Logger.html#isTraceEnabled()">isTraceEnabled</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check whether this category is enabled for the TRACE  Level.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/Logger.html#trace(java.lang.Object)">trace</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message object with the <A HREF="../../../org/apache/log4j/Level.html#TRACE"><CODE>TRACE</CODE></A> level.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/log4j/Logger.html#trace(java.lang.Object, java.lang.Throwable)">trace</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message,
      <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log a message object with the <code>TRACE</code> level including the
 stack trace of the <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A><code>t</code> passed as parameter.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.log4j.Category"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.log4j.<A HREF="../../../org/apache/log4j/Category.html" title="class in org.apache.log4j">Category</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../org/apache/log4j/Category.html#addAppender(org.apache.log4j.Appender)">addAppender</A>, <A HREF="../../../org/apache/log4j/Category.html#assertLog(boolean, java.lang.String)">assertLog</A>, <A HREF="../../../org/apache/log4j/Category.html#callAppenders(org.apache.log4j.spi.LoggingEvent)">callAppenders</A>, <A HREF="../../../org/apache/log4j/Category.html#debug(java.lang.Object)">debug</A>, <A HREF="../../../org/apache/log4j/Category.html#debug(java.lang.Object, java.lang.Throwable)">debug</A>, <A HREF="../../../org/apache/log4j/Category.html#error(java.lang.Object)">error</A>, <A HREF="../../../org/apache/log4j/Category.html#error(java.lang.Object, java.lang.Throwable)">error</A>, <A HREF="../../../org/apache/log4j/Category.html#exists(java.lang.String)">exists</A>, <A HREF="../../../org/apache/log4j/Category.html#fatal(java.lang.Object)">fatal</A>, <A HREF="../../../org/apache/log4j/Category.html#fatal(java.lang.Object, java.lang.Throwable)">fatal</A>, <A HREF="../../../org/apache/log4j/Category.html#forcedLog(java.lang.String, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">forcedLog</A>, <A HREF="../../../org/apache/log4j/Category.html#getAdditivity()">getAdditivity</A>, <A HREF="../../../org/apache/log4j/Category.html#getAllAppenders()">getAllAppenders</A>, <A HREF="../../../org/apache/log4j/Category.html#getAppender(java.lang.String)">getAppender</A>, <A HREF="../../../org/apache/log4j/Category.html#getChainedPriority()">getChainedPriority</A>, <A HREF="../../../org/apache/log4j/Category.html#getCurrentCategories()">getCurrentCategories</A>, <A HREF="../../../org/apache/log4j/Category.html#getDefaultHierarchy()">getDefaultHierarchy</A>, <A HREF="../../../org/apache/log4j/Category.html#getEffectiveLevel()">getEffectiveLevel</A>, <A HREF="../../../org/apache/log4j/Category.html#getHierarchy()">getHierarchy</A>, <A HREF="../../../org/apache/log4j/Category.html#getInstance(java.lang.Class)">getInstance</A>, <A HREF="../../../org/apache/log4j/Category.html#getInstance(java.lang.String)">getInstance</A>, <A HREF="../../../org/apache/log4j/Category.html#getLevel()">getLevel</A>, <A HREF="../../../org/apache/log4j/Category.html#getLoggerRepository()">getLoggerRepository</A>, <A HREF="../../../org/apache/log4j/Category.html#getName()">getName</A>, <A HREF="../../../org/apache/log4j/Category.html#getParent()">getParent</A>, <A HREF="../../../org/apache/log4j/Category.html#getPriority()">getPriority</A>, <A HREF="../../../org/apache/log4j/Category.html#getResourceBundle()">getResourceBundle</A>, <A HREF="../../../org/apache/log4j/Category.html#getResourceBundleString(java.lang.String)">getResourceBundleString</A>, <A HREF="../../../org/apache/log4j/Category.html#getRoot()">getRoot</A>, <A HREF="../../../org/apache/log4j/Category.html#info(java.lang.Object)">info</A>, <A HREF="../../../org/apache/log4j/Category.html#info(java.lang.Object, java.lang.Throwable)">info</A>, <A HREF="../../../org/apache/log4j/Category.html#isAttached(org.apache.log4j.Appender)">isAttached</A>, <A HREF="../../../org/apache/log4j/Category.html#isDebugEnabled()">isDebugEnabled</A>, <A HREF="../../../org/apache/log4j/Category.html#isEnabledFor(org.apache.log4j.Priority)">isEnabledFor</A>, <A HREF="../../../org/apache/log4j/Category.html#isInfoEnabled()">isInfoEnabled</A>, <A HREF="../../../org/apache/log4j/Category.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Object[], java.lang.Throwable)">l7dlog</A>, <A HREF="../../../org/apache/log4j/Category.html#l7dlog(org.apache.log4j.Priority, java.lang.String, java.lang.Throwable)">l7dlog</A>, <A HREF="../../../org/apache/log4j/Category.html#log(org.apache.log4j.Priority, java.lang.Object)">log</A>, <A HREF="../../../org/apache/log4j/Category.html#log(org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">log</A>, <A HREF="../../../org/apache/log4j/Category.html#log(java.lang.String, org.apache.log4j.Priority, java.lang.Object, java.lang.Throwable)">log</A>, <A HREF="../../../org/apache/log4j/Category.html#removeAllAppenders()">removeAllAppenders</A>, <A HREF="../../../org/apache/log4j/Category.html#removeAppender(org.apache.log4j.Appender)">removeAppender</A>, <A HREF="../../../org/apache/log4j/Category.html#removeAppender(java.lang.String)">removeAppender</A>, <A HREF="../../../org/apache/log4j/Category.html#setAdditivity(boolean)">setAdditivity</A>, <A HREF="../../../org/apache/log4j/Category.html#setLevel(org.apache.log4j.Level)">setLevel</A>, <A HREF="../../../org/apache/log4j/Category.html#setPriority(org.apache.log4j.Priority)">setPriority</A>, <A HREF="../../../org/apache/log4j/Category.html#setResourceBundle(java.util.ResourceBundle)">setResourceBundle</A>, <A HREF="../../../org/apache/log4j/Category.html#shutdown()">shutdown</A>, <A HREF="../../../org/apache/log4j/Category.html#warn(java.lang.Object)">warn</A>, <A HREF="../../../org/apache/log4j/Category.html#warn(java.lang.Object, java.lang.Throwable)">warn</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="Logger(java.lang.String)"><!-- --></A><H3>
Logger</H3>
<PRE>
protected <B>Logger</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE>
<DL>
</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="getLogger(java.lang.String)"><!-- --></A><H3>
getLogger</H3>
<PRE>
public static <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> <B>getLogger</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE>
<DL>
<DD>Retrieve a logger named according to the value of the
 <code>name</code> parameter. If the named logger already exists,
 then the existing instance will be returned. Otherwise, a new
 instance is created.  

 <p>By default, loggers do not have a set level but inherit it
 from their neareast ancestor with a set level. This is one of the
 central features of log4j.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>name</CODE> - The name of the logger to retrieve.</DL>
</DD>
</DL>
<HR>

<A NAME="getLogger(java.lang.Class)"><!-- --></A><H3>
getLogger</H3>
<PRE>
public static <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> <B>getLogger</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&nbsp;clazz)</PRE>
<DL>
<DD>Shorthand for <code>getLogger(clazz.getName())</code>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>clazz</CODE> - The name of <code>clazz</code> will be used as the
 name of the logger to retrieve.  See <A HREF="../../../org/apache/log4j/Logger.html#getLogger(java.lang.String)"><CODE>getLogger(String)</CODE></A>
 for more detailed information.</DL>
</DD>
</DL>
<HR>

<A NAME="getRootLogger()"><!-- --></A><H3>
getRootLogger</H3>
<PRE>
public static <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> <B>getRootLogger</B>()</PRE>
<DL>
<DD>Return the root logger for the current logger repository.
 <p>
 The <A HREF="../../../org/apache/log4j/Category.html#getName()"><CODE>Logger.getName()</CODE></A> method for the root logger always returns
 string value: "root". However, calling
 <code>Logger.getLogger("root")</code> does not retrieve the root
 logger but a logger just under root named "root".
 <p>
 In other words, calling this method is the only way to retrieve the 
 root logger.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getLogger(java.lang.String, org.apache.log4j.spi.LoggerFactory)"><!-- --></A><H3>
getLogger</H3>
<PRE>
public static <A HREF="../../../org/apache/log4j/Logger.html" title="class in org.apache.log4j">Logger</A> <B>getLogger</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name,
                               <A HREF="../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi">LoggerFactory</A>&nbsp;factory)</PRE>
<DL>
<DD>Like <A HREF="../../../org/apache/log4j/Logger.html#getLogger(java.lang.String)"><CODE>getLogger(String)</CODE></A> except that the type of logger
     instantiated depends on the type returned by the <A HREF="../../../org/apache/log4j/spi/LoggerFactory.html#makeNewLoggerInstance(java.lang.String)"><CODE>LoggerFactory.makeNewLoggerInstance(java.lang.String)</CODE></A> method of the
     <code>factory</code> parameter.

     <p>This method is intended to be used by sub-classes.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>name</CODE> - The name of the logger to retrieve.<DD><CODE>factory</CODE> - A <A HREF="../../../org/apache/log4j/spi/LoggerFactory.html" title="interface in org.apache.log4j.spi"><CODE>LoggerFactory</CODE></A> implementation that will
     actually create a new Instance.<DT><B>Since:</B></DT>
  <DD>0.8.5</DD>
</DL>
</DD>
</DL>
<HR>

<A NAME="trace(java.lang.Object)"><!-- --></A><H3>
trace</H3>
<PRE>
public void <B>trace</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</PRE>
<DL>
<DD>Log a message object with the <A HREF="../../../org/apache/log4j/Level.html#TRACE"><CODE>TRACE</CODE></A> level.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>message</CODE> - the message object to log.<DT><B>Since:</B></DT>
  <DD>1.2.12</DD>
<DT><B>See Also:</B><DD><A HREF="../../../org/apache/log4j/Category.html#debug(java.lang.Object)"><CODE>for an explanation of the logic applied.</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="trace(java.lang.Object, java.lang.Throwable)"><!-- --></A><H3>
trace</H3>
<PRE>
public void <B>trace</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message,
                  <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;t)</PRE>
<DL>
<DD>Log a message object with the <code>TRACE</code> level including the
 stack trace of the <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A><code>t</code> passed as parameter.

 <p>
 See <A HREF="../../../org/apache/log4j/Category.html#debug(java.lang.Object)"><CODE>Category.debug(Object)</CODE></A> form for more detailed information.
 </p>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>message</CODE> - the message object to log.<DD><CODE>t</CODE> - the exception to log, including its stack trace.<DT><B>Since:</B></DT>
  <DD>1.2.12</DD>
</DL>
</DD>
</DL>
<HR>

<A NAME="isTraceEnabled()"><!-- --></A><H3>
isTraceEnabled</H3>
<PRE>
public boolean <B>isTraceEnabled</B>()</PRE>
<DL>
<DD>Check whether this category is enabled for the TRACE  Level.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>boolean - <code>true</code> if this category is enabled for level
         TRACE, <code>false</code> otherwise.<DT><B>Since:</B></DT>
  <DD>1.2.12</DD>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<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">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Logger.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&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;<A HREF="../../../org/apache/log4j/Level.html" title="class in org.apache.log4j"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/apache/log4j/LogManager.html" title="class in org.apache.log4j"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../index.html?org/apache/log4j/Logger.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="Logger.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>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.log4j.Category">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></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>
