<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_40) on Fri Aug 29 19:09:08 CDT 2014 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>Index (Apache Log4j Commons Logging Bridge 2.0.2 API)</title>
<meta name="date" content="2014-08-29">
<link rel="stylesheet" type="text/css" href="./stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="Index (Apache Log4j Commons Logging Bridge 2.0.2 API)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="./org/apache/logging/log4j/jcl/package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li><a href="./org/apache/logging/log4j/jcl/package-tree.html">Tree</a></li>
<li><a href="./deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="./help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="./index.html?index-all.html" target="_top">Frames</a></li>
<li><a href="index-all.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="./allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="contentContainer"><a href="#_D_">D</a>&nbsp;<a href="#_E_">E</a>&nbsp;<a href="#_F_">F</a>&nbsp;<a href="#_G_">G</a>&nbsp;<a href="#_I_">I</a>&nbsp;<a href="#_L_">L</a>&nbsp;<a href="#_O_">O</a>&nbsp;<a href="#_R_">R</a>&nbsp;<a href="#_S_">S</a>&nbsp;<a href="#_T_">T</a>&nbsp;<a href="#_W_">W</a>&nbsp;<a name="_D_">
<!--   -->
</a>
<h2 class="title">D</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/logging/log4j/jcl/Log4jLog.html#debug(java.lang.Object)">debug(Object)</a></span> - Method in class org.apache.logging.log4j.jcl.<a href="./org/apache/logging/log4j/jcl/Log4jLog.html" title="class in org.apache.logging.log4j.jcl">Log4jLog</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/logging/log4j/jcl/Log4jLog.html#debug(java.lang.Object, java.lang.Throwable)">debug(Object, Throwable)</a></span> - Method in class org.apache.logging.log4j.jcl.<a href="./org/apache/logging/log4j/jcl/Log4jLog.html" title="class in org.apache.logging.log4j.jcl">Log4jLog</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="_E_">
<!--   -->
</a>
<h2 class="title">E</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/logging/log4j/jcl/Log4jLog.html#error(java.lang.Object)">error(Object)</a></span> - Method in class org.apache.logging.log4j.jcl.<a href="./org/apache/logging/log4j/jcl/Log4jLog.html" title="class in org.apache.logging.log4j.jcl">Log4jLog</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/logging/log4j/jcl/Log4jLog.html#error(java.lang.Object, java.lang.Throwable)">error(Object, Throwable)</a></span> - Method in class org.apache.logging.log4j.jcl.<a href="./org/apache/logging/log4j/jcl/Log4jLog.html" title="class in org.apache.logging.log4j.jcl">Log4jLog</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="_F_">
<!--   -->
</a>
<h2 class="title">F</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/logging/log4j/jcl/Log4jLog.html#fatal(java.lang.Object)">fatal(Object)</a></span> - Method in class org.apache.logging.log4j.jcl.<a href="./org/apache/logging/log4j/jcl/Log4jLog.html" title="class in org.apache.logging.log4j.jcl">Log4jLog</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/logging/log4j/jcl/Log4jLog.html#fatal(java.lang.Object, java.lang.Throwable)">fatal(Object, Throwable)</a></span> - Method in class org.apache.logging.log4j.jcl.<a href="./org/apache/logging/log4j/jcl/Log4jLog.html" title="class in org.apache.logging.log4j.jcl">Log4jLog</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="_G_">
<!--   -->
</a>
<h2 class="title">G</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/logging/log4j/jcl/LogFactoryImpl.html#getAttribute(java.lang.String)">getAttribute(String)</a></span> - Method in class org.apache.logging.log4j.jcl.<a href="./org/apache/logging/log4j/jcl/LogFactoryImpl.html" title="class in org.apache.logging.log4j.jcl">LogFactoryImpl</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/logging/log4j/jcl/LogFactoryImpl.html#getAttributeNames()">getAttributeNames()</a></span> - Method in class org.apache.logging.log4j.jcl.<a href="./org/apache/logging/log4j/jcl/LogFactoryImpl.html" title="class in org.apache.logging.log4j.jcl">LogFactoryImpl</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/logging/log4j/jcl/LogFactoryImpl.html#getInstance(java.lang.String)">getInstance(String)</a></span> - Method in class org.apache.logging.log4j.jcl.<a href="./org/apache/logging/log4j/jcl/LogFactoryImpl.html" title="class in org.apache.logging.log4j.jcl">LogFactoryImpl</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/logging/log4j/jcl/LogFactoryImpl.html#getInstance(java.lang.Class)">getInstance(Class)</a></span> - Method in class org.apache.logging.log4j.jcl.<a href="./org/apache/logging/log4j/jcl/LogFactoryImpl.html" title="class in org.apache.logging.log4j.jcl">LogFactoryImpl</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="_I_">
<!--   -->
</a>
<h2 class="title">I</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/logging/log4j/jcl/Log4jLog.html#info(java.lang.Object)">info(Object)</a></span> - Method in class org.apache.logging.log4j.jcl.<a href="./org/apache/logging/log4j/jcl/Log4jLog.html" title="class in org.apache.logging.log4j.jcl">Log4jLog</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/logging/log4j/jcl/Log4jLog.html#info(java.lang.Object, java.lang.Throwable)">info(Object, Throwable)</a></span> - Method in class org.apache.logging.log4j.jcl.<a href="./org/apache/logging/log4j/jcl/Log4jLog.html" title="class in org.apache.logging.log4j.jcl">Log4jLog</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/logging/log4j/jcl/Log4jLog.html#isDebugEnabled()">isDebugEnabled()</a></span> - Method in class org.apache.logging.log4j.jcl.<a href="./org/apache/logging/log4j/jcl/Log4jLog.html" title="class in org.apache.logging.log4j.jcl">Log4jLog</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/logging/log4j/jcl/Log4jLog.html#isErrorEnabled()">isErrorEnabled()</a></span> - Method in class org.apache.logging.log4j.jcl.<a href="./org/apache/logging/log4j/jcl/Log4jLog.html" title="class in org.apache.logging.log4j.jcl">Log4jLog</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/logging/log4j/jcl/Log4jLog.html#isFatalEnabled()">isFatalEnabled()</a></span> - Method in class org.apache.logging.log4j.jcl.<a href="./org/apache/logging/log4j/jcl/Log4jLog.html" title="class in org.apache.logging.log4j.jcl">Log4jLog</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/logging/log4j/jcl/Log4jLog.html#isInfoEnabled()">isInfoEnabled()</a></span> - Method in class org.apache.logging.log4j.jcl.<a href="./org/apache/logging/log4j/jcl/Log4jLog.html" title="class in org.apache.logging.log4j.jcl">Log4jLog</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/logging/log4j/jcl/Log4jLog.html#isTraceEnabled()">isTraceEnabled()</a></span> - Method in class org.apache.logging.log4j.jcl.<a href="./org/apache/logging/log4j/jcl/Log4jLog.html" title="class in org.apache.logging.log4j.jcl">Log4jLog</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/logging/log4j/jcl/Log4jLog.html#isWarnEnabled()">isWarnEnabled()</a></span> - Method in class org.apache.logging.log4j.jcl.<a href="./org/apache/logging/log4j/jcl/Log4jLog.html" title="class in org.apache.logging.log4j.jcl">Log4jLog</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="_L_">
<!--   -->
</a>
<h2 class="title">L</h2>
<dl>
<dt><a href="./org/apache/logging/log4j/jcl/Log4jLog.html" title="class in org.apache.logging.log4j.jcl"><span class="strong">Log4jLog</span></a> - Class in <a href="./org/apache/logging/log4j/jcl/package-summary.html">org.apache.logging.log4j.jcl</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/logging/log4j/jcl/Log4jLog.html#Log4jLog(org.apache.logging.log4j.spi.ExtendedLogger)">Log4jLog(ExtendedLogger)</a></span> - Constructor for class org.apache.logging.log4j.jcl.<a href="./org/apache/logging/log4j/jcl/Log4jLog.html" title="class in org.apache.logging.log4j.jcl">Log4jLog</a></dt>
<dd>&nbsp;</dd>
<dt><a href="./org/apache/logging/log4j/jcl/LogFactoryImpl.html" title="class in org.apache.logging.log4j.jcl"><span class="strong">LogFactoryImpl</span></a> - Class in <a href="./org/apache/logging/log4j/jcl/package-summary.html">org.apache.logging.log4j.jcl</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/logging/log4j/jcl/LogFactoryImpl.html#LogFactoryImpl()">LogFactoryImpl()</a></span> - Constructor for class org.apache.logging.log4j.jcl.<a href="./org/apache/logging/log4j/jcl/LogFactoryImpl.html" title="class in org.apache.logging.log4j.jcl">LogFactoryImpl</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="_O_">
<!--   -->
</a>
<h2 class="title">O</h2>
<dl>
<dt><a href="./org/apache/logging/log4j/jcl/package-summary.html">org.apache.logging.log4j.jcl</a> - package org.apache.logging.log4j.jcl</dt>
<dd>
<div class="block">Log4j 2.0 adapter for Commons Logging.</div>
</dd>
</dl>
<a name="_R_">
<!--   -->
</a>
<h2 class="title">R</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/logging/log4j/jcl/LogFactoryImpl.html#release()">release()</a></span> - Method in class org.apache.logging.log4j.jcl.<a href="./org/apache/logging/log4j/jcl/LogFactoryImpl.html" title="class in org.apache.logging.log4j.jcl">LogFactoryImpl</a></dt>
<dd>
<div class="block">This method is supposed to clear all loggers.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/logging/log4j/jcl/LogFactoryImpl.html#removeAttribute(java.lang.String)">removeAttribute(String)</a></span> - Method in class org.apache.logging.log4j.jcl.<a href="./org/apache/logging/log4j/jcl/LogFactoryImpl.html" title="class in org.apache.logging.log4j.jcl">LogFactoryImpl</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="_S_">
<!--   -->
</a>
<h2 class="title">S</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/logging/log4j/jcl/LogFactoryImpl.html#setAttribute(java.lang.String, java.lang.Object)">setAttribute(String, Object)</a></span> - Method in class org.apache.logging.log4j.jcl.<a href="./org/apache/logging/log4j/jcl/LogFactoryImpl.html" title="class in org.apache.logging.log4j.jcl">LogFactoryImpl</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="_T_">
<!--   -->
</a>
<h2 class="title">T</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/logging/log4j/jcl/Log4jLog.html#trace(java.lang.Object)">trace(Object)</a></span> - Method in class org.apache.logging.log4j.jcl.<a href="./org/apache/logging/log4j/jcl/Log4jLog.html" title="class in org.apache.logging.log4j.jcl">Log4jLog</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/logging/log4j/jcl/Log4jLog.html#trace(java.lang.Object, java.lang.Throwable)">trace(Object, Throwable)</a></span> - Method in class org.apache.logging.log4j.jcl.<a href="./org/apache/logging/log4j/jcl/Log4jLog.html" title="class in org.apache.logging.log4j.jcl">Log4jLog</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="_W_">
<!--   -->
</a>
<h2 class="title">W</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/logging/log4j/jcl/Log4jLog.html#warn(java.lang.Object)">warn(Object)</a></span> - Method in class org.apache.logging.log4j.jcl.<a href="./org/apache/logging/log4j/jcl/Log4jLog.html" title="class in org.apache.logging.log4j.jcl">Log4jLog</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/logging/log4j/jcl/Log4jLog.html#warn(java.lang.Object, java.lang.Throwable)">warn(Object, Throwable)</a></span> - Method in class org.apache.logging.log4j.jcl.<a href="./org/apache/logging/log4j/jcl/Log4jLog.html" title="class in org.apache.logging.log4j.jcl">Log4jLog</a></dt>
<dd>&nbsp;</dd>
</dl>
<a href="#_D_">D</a>&nbsp;<a href="#_E_">E</a>&nbsp;<a href="#_F_">F</a>&nbsp;<a href="#_G_">G</a>&nbsp;<a href="#_I_">I</a>&nbsp;<a href="#_L_">L</a>&nbsp;<a href="#_O_">O</a>&nbsp;<a href="#_R_">R</a>&nbsp;<a href="#_S_">S</a>&nbsp;<a href="#_T_">T</a>&nbsp;<a href="#_W_">W</a>&nbsp;</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="./org/apache/logging/log4j/jcl/package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li><a href="./org/apache/logging/log4j/jcl/package-tree.html">Tree</a></li>
<li><a href="./deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="./help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="./index.html?index-all.html" target="_top">Frames</a></li>
<li><a href="index-all.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="./allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright © 1999-2014 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. Apache Logging,             Apache Log4j, Log4j, Apache, the Apache feather logo, and the             Apache Logging project logo are trademarks of The Apache Software Foundation.</small></p>
</body>
</html>
