
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html xml:lang="en" lang="en">
	<head>
		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
		<title>Apache Log4j 1.2.17 Reference</title>
		<link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" />
	</head>
	<body>
				<div class="overview">
			<ul>
				<li class="selected">Overview</li>
				<li>Package</li>
			</ul>
		</div>
		<div class="framenoframe">
			<ul>
				<li>
					<a href="index.html" target="_top">FRAMES</a>
				</li>
				<li>
    	        	<a href="overview-summary.html" target="_top">NO FRAMES</a>
        	  	</li>
	        </ul>
      	</div>
		
		      	<h2>Apache Log4j 1.2.17 Reference</h2>

		<table class="summary">
        	<thead>
          		<tr>
            		<th>Packages</th>
          		</tr>
        	</thead>
        	<tbody>
    	    	            	<tr>
              		<td>
                		<a href="org/apache/log4j/package-summary.html">org.apache.log4j</a>
              		</td>
            	</tr>
	          	            	<tr>
              		<td>
                		<a href="org/apache/log4j/customLogger/package-summary.html">org.apache.log4j.customLogger</a>
              		</td>
            	</tr>
	          	            	<tr>
              		<td>
                		<a href="org/apache/log4j/defaultInit/package-summary.html">org.apache.log4j.defaultInit</a>
              		</td>
            	</tr>
	          	            	<tr>
              		<td>
                		<a href="org/apache/log4j/helpers/package-summary.html">org.apache.log4j.helpers</a>
              		</td>
            	</tr>
	          	            	<tr>
              		<td>
                		<a href="org/apache/log4j/net/package-summary.html">org.apache.log4j.net</a>
              		</td>
            	</tr>
	          	            	<tr>
              		<td>
                		<a href="org/apache/log4j/nt/package-summary.html">org.apache.log4j.nt</a>
              		</td>
            	</tr>
	          	            	<tr>
              		<td>
                		<a href="org/apache/log4j/or/package-summary.html">org.apache.log4j.or</a>
              		</td>
            	</tr>
	          	            	<tr>
              		<td>
                		<a href="org/apache/log4j/pattern/package-summary.html">org.apache.log4j.pattern</a>
              		</td>
            	</tr>
	          	            	<tr>
              		<td>
                		<a href="org/apache/log4j/rewrite/package-summary.html">org.apache.log4j.rewrite</a>
              		</td>
            	</tr>
	          	            	<tr>
              		<td>
                		<a href="org/apache/log4j/spi/package-summary.html">org.apache.log4j.spi</a>
              		</td>
            	</tr>
	          	            	<tr>
              		<td>
                		<a href="org/apache/log4j/util/package-summary.html">org.apache.log4j.util</a>
              		</td>
            	</tr>
	          	            	<tr>
              		<td>
                		<a href="org/apache/log4j/varia/package-summary.html">org.apache.log4j.varia</a>
              		</td>
            	</tr>
	          	            	<tr>
              		<td>
                		<a href="org/apache/log4j/xml/package-summary.html">org.apache.log4j.xml</a>
              		</td>
            	</tr>
	          	        	</tbody>
      	</table>
		
				<div class="overview">
			<ul>
				<li class="selected">Overview</li>
				<li>Package</li>
			</ul>
		</div>
		<div class="framenoframe">
			<ul>
				<li>
					<a href="index.html" target="_top">FRAMES</a>
				</li>
				<li>
    	        	<a href="overview-summary.html" target="_top">NO FRAMES</a>
        	  	</li>
	        </ul>
      	</div>
		
		<hr />
		Copyright &copy; 1999-2012 Apache Software Foundation. All Rights Reserved.
	</body>
</html>