
<!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 Package org.apache.log4j.config</title>
		<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" />
	</head>
	<body>
		      	<div class="overview">
        	<ul>
          		<li>
            		<a href="../../../../overview-summary.html">Overview</a>
          		</li>
          		<li class="selected">Package</li>
        	</ul>
      	</div>
      	<div class="framenoframe">
        	<ul>
          		<li>
            		<a href="../../../../index.html" target="_top">FRAMES</a>
          		</li>
          		<li>
            		<a href="package-summary.html" target="_top">NO FRAMES</a>
          		</li>
        	</ul>
      	</div>
		
		      	<h2>Package org.apache.log4j.config</h2>

		<table class="summary">
        	<thead>
          		<tr>
            		<th>Class Summary</th>
          		</tr>
        	</thead>
        	<tbody>
        		            	<tr>
              		<td>
                		<a href="PropertyGetter.html" target="classFrame">PropertyCallback</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="PropertyGetter.html" target="classFrame">PropertyGetter</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="PropertyPrinter.html" target="classFrame">PropertyPrinter</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="PropertySetter.html" target="classFrame">PropertySetter</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="PropertySetterException.html" target="classFrame">PropertySetterException</a>
              		</td>
            	</tr>
				        	</tbody>
      	</table>
		
		      	<div class="overview">
        	<ul>
          		<li>
            		<a href="../../../../overview-summary.html">Overview</a>
          		</li>
          		<li class="selected">Package</li>
        	</ul>
      	</div>
      	<div class="framenoframe">
        	<ul>
          		<li>
            		<a href="../../../../index.html" target="_top">FRAMES</a>
          		</li>
          		<li>
            		<a href="package-summary.html" target="_top">NO FRAMES</a>
          		</li>
        	</ul>
      	</div>
				<hr />
		Copyright &copy; 1999-2012 Apache Software Foundation. All Rights Reserved.
	</body>
</html>