<!DOCTYPE html>
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<meta name="generator" content="ApiGen 2.8.0" />

	<title>Class LoggerAutoloader | Apache log4php</title>

	<script type="text/javascript" src="resources/combined.js?238209907"></script>
	<script type="text/javascript" src="elementlist.js?4055067042"></script>
	<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360" />

	<script type="text/javascript">
		var _gaq = _gaq || [];
		_gaq.push(['_setAccount', "UA-26177991-1"]);
		_gaq.push(['_trackPageview']);

		(function() {
			var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
			ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
			var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
		})();
	</script>
</head>

<body>
<div id="left">
	<div id="menu">
		<a href="index.html" title="Overview"><span>Overview</span></a>


		<div id="groups">
			<h3>Packages</h3>
			<ul>
				<li class="active"><a href="package-log4php.html">log4php<span></span></a>
						<ul>
				<li><a href="package-log4php.appenders.html">appenders</a>
						</li>
				<li><a href="package-log4php.configurators.html">configurators</a>
						</li>
				<li><a href="package-log4php.filters.html">filters</a>
						</li>
				<li><a href="package-log4php.helpers.html">helpers</a>
						</li>
				<li><a href="package-log4php.layouts.html">layouts</a>
						</li>
				<li><a href="package-log4php.pattern.html">pattern</a>
						</li>
				<li><a href="package-log4php.renderers.html">renderers</a>
						</li>
							</ul></li>
			</ul>
		</div>

		<hr />


		<div id="elements">
			<h3>Classes</h3>
			<ul>
				<li><a href="class-Logger.html">Logger</a></li>
				<li><a href="class-LoggerAppender.html">LoggerAppender</a></li>
				<li><a href="class-LoggerAppenderPool.html">LoggerAppenderPool</a></li>
				<li class="active"><a href="class-LoggerAutoloader.html">LoggerAutoloader</a></li>
				<li><a href="class-LoggerConfigurable.html">LoggerConfigurable</a></li>
				<li><a href="class-LoggerConfiguratorDefault.html">LoggerConfiguratorDefault</a></li>
				<li><a href="class-LoggerFilter.html">LoggerFilter</a></li>
				<li><a href="class-LoggerHierarchy.html">LoggerHierarchy</a></li>
				<li><a href="class-LoggerLayout.html">LoggerLayout</a></li>
				<li><a href="class-LoggerLevel.html">LoggerLevel</a></li>
				<li><a href="class-LoggerLocationInfo.html">LoggerLocationInfo</a></li>
				<li><a href="class-LoggerLoggingEvent.html">LoggerLoggingEvent</a></li>
				<li><a href="class-LoggerMDC.html">LoggerMDC</a></li>
				<li><a href="class-LoggerNDC.html">LoggerNDC</a></li>
				<li><a href="class-LoggerReflectionUtils.html">LoggerReflectionUtils</a></li>
				<li><a href="class-LoggerRoot.html">LoggerRoot</a></li>
				<li><a href="class-LoggerThrowableInformation.html">LoggerThrowableInformation</a></li>
			</ul>

			<h3>Interfaces</h3>
			<ul>
				<li><a href="class-LoggerConfigurator.html">LoggerConfigurator</a></li>
			</ul>


			<h3>Exceptions</h3>
			<ul>
				<li><a href="class-LoggerException.html">LoggerException</a></li>
			</ul>


		</div>
	</div>
</div>

<div id="splitter"></div>

<div id="right">
<div id="rightInner">
	<form id="search">
		<input type="hidden" name="cx" value="" />
		<input type="hidden" name="ie" value="UTF-8" />
		<input type="text" name="q" class="text" />
		<input type="submit" value="Search" />
	</form>

	<div id="navigation">
		<ul>
			<li>
				<a href="index.html" title="Overview"><span>Overview</span></a>
			</li>
			<li>
				<a href="package-log4php.html" title="Summary of log4php"><span>Package</span></a>
			</li>
			<li class="active">
<span>Class</span>			</li>
		</ul>
		<ul>
			<li>
				<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
			</li>
		</ul>
		<ul>
		</ul>
	</div>

<div id="content" class="class">
	<h1>Class LoggerAutoloader</h1>


	<div class="description">
	
<p>Class autoloader.</p>

	</div>









	<div class="info">
		
		
		
		<b>Package:</b> <a href="package-log4php.html">log4php</a><br />

				<b>License:</b>
				<a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a><br />
				<b>Version:</b>
				$Revision: 1394956 $<br />
		<b>Located at</b> <a href="source-class-LoggerAutoloader.html#27-142" title="Go to source code">LoggerAutoloader.php</a><br />
	</div>



	<table class="summary" id="methods">
	<caption>Methods summary</caption>
	<tr data-order="autoload" id="_autoload">

		<td class="attributes"><code>
			 public static
			
			
			</code>
		</td>

		<td class="name"><div>
		<a class="anchor" href="#_autoload">#</a>
		<code><a href="source-class-LoggerAutoloader.html#133-141" title="Go to source code">autoload</a>( <span>string <var>$className</var></span> )</code>

		<div class="description short">
			
<p>Loads a class.</p>

		</div>

		<div class="description detailed hidden">
			
<p>Loads a class.</p>



				<h4>Parameters</h4>
				<div class="list"><dl>
					<dt><var>$className</var></dt>
					<dd><code>string</code><br>$className The name of the class to load.</dd>
				</dl></div>





		</div>
		</div></td>
	</tr>
	</table>


















</div>

	<div id="footer">
		Apache log4php API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
	</div>
</div>
</div>
</body>
</html>
