<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- Generated by Apache Maven Doxia at Feb 18, 2012 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
		<title>
		LoggerAppenderNull - Apache log4php</title>
		<link rel="stylesheet" href="../../css/bootstrap.min.css" type="text/css" />
		<link rel="stylesheet" href="../../css/site.css" type="text/css" />
		<script type="text/javascript" src="../../js/jquery.min.js"></script>
		<script type="text/javascript" src="../../js/bootstrap.min.js"></script>
		<script type="text/javascript" src="../../js/prettify.min.js"></script>
		<script type="text/javascript" src="../../js/site.js"></script>
		<meta name="Date-Revision-yyyymmdd" content="20120218" />
		<meta http-equiv="Content-Language" content="en" />
		
					<!-- Google Analytics -->
		<script type="text/javascript">
		
			var _gaq = _gaq || [];
			_gaq.push(['_setAccount', 'UA-26177991-1']);
			_gaq.push (['_gat._anonymizeIp']);
			_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 class="composite">
 
		<div class="navbar">
			<div class="navbar-inner">
				<div class="container-fluid">
					<a class="brand" href="#">Apache log4php &trade;</a>
						<ul class="nav">
						<li>
									<a href="../../index.html" title="About">About</a>
			</li>
					<li>
									<a href="../../download.html" title="Download">Download</a>
			</li>
					<li>
									<a href="../../install.html" title="Install">Install</a>
			</li>
					<li>
									<a href="../../quickstart.html" title="Quick start">Quick start</a>
			</li>
		</ul>

					<!-- Twitter link -->
					<ul class="nav pull-right">
						<li><a href="http://twitter.com/log4php/" class="externalLink">Follow <strong>@log4php</strong></a></li>
					</ul>
					
					<!-- Google CSE Search Box -->
					<form class="navbar-search pull-right" id="cref" action="http://www.google.com/cse">
						<input type="hidden" name="cref" value="http://logging.apache.org/log4php/cse.xml" />
						<input class="search-query pull-left" type="text" name="q" size="40" placeholder="Search" />
					</form>
				</div>
			</div>
		</div>

		<div class="container-fluid">
			<table class="layout-table">
				<tr>
					<td class="sidebar">
						<div class="well sidebar-nav">
										<ul class="nav nav-list">
								 <li class="nav-header"><i class="icon-home"></i>Apache log4php™</li>
																	<li class="none">
								<a href="../../index.html" title="About">About</a>
			</li>
										<li class="none">
								<a href="../../download.html" title="Download">Download</a>
			</li>
										<li class="none">
								<a href="../../install.html" title="Install">Install</a>
			</li>
										<li class="none">
								<a href="../../changelog.html" title="Changelog">Changelog</a>
			</li>
							</ul>
			<ul class="nav nav-list">
								 <li class="nav-header"><i class="icon-book"></i>Documentation</li>
																	<li class="none">
								<a href="../../quickstart.html" title="Quick start">Quick start</a>
			</li>
										<li class="none">
								<a href="../../docs/introduction.html" title="Introduction">Introduction</a>
			</li>
										<li class="none">
								<a href="../../docs/configuration.html" title="Configuration">Configuration</a>
			</li>
										<li class="none">
								<a href="../../docs/loggers.html" title="Loggers">Loggers</a>
			</li>
																																																																																																																																																				<li class="expanded">
								<a href="../../docs/appenders.html" title="Appenders">Appenders</a>
							<ul>
												<li class="none">
								<a href="../../docs/appenders/console.html" title="LoggerAppenderConsole">LoggerAppenderConsole</a>
			</li>
												<li class="none">
								<a href="../../docs/appenders/daily-file.html" title="LoggerAppenderDailyFile">LoggerAppenderDailyFile</a>
			</li>
												<li class="none">
								<a href="../../docs/appenders/echo.html" title="LoggerAppenderEcho">LoggerAppenderEcho</a>
			</li>
												<li class="none">
								<a href="../../docs/appenders/file.html" title="LoggerAppenderFile">LoggerAppenderFile</a>
			</li>
												<li class="none">
								<a href="../../docs/appenders/mail.html" title="LoggerAppenderMail">LoggerAppenderMail</a>
			</li>
												<li class="none">
								<a href="../../docs/appenders/mail-event.html" title="LoggerAppenderMailEvent">LoggerAppenderMailEvent</a>
			</li>
												<li class="none">
								<a href="../../docs/appenders/mongodb.html" title="LoggerAppenderMongoDB">LoggerAppenderMongoDB</a>
			</li>
													<li class="none active">
								<a href="../../docs/appenders/null.html" title="LoggerAppenderNull">LoggerAppenderNull</a>
			</li>
												<li class="none">
								<a href="../../docs/appenders/pdo.html" title="LoggerAppenderPDO">LoggerAppenderPDO</a>
			</li>
												<li class="none">
								<a href="../../docs/appenders/php.html" title="LoggerAppenderPHP">LoggerAppenderPHP</a>
			</li>
												<li class="none">
								<a href="../../docs/appenders/rolling-file.html" title="LoggerAppenderRollingFile">LoggerAppenderRollingFile</a>
			</li>
												<li class="none">
								<a href="../../docs/appenders/socket.html" title="LoggerAppenderSocket">LoggerAppenderSocket</a>
			</li>
												<li class="none">
								<a href="../../docs/appenders/syslog.html" title="LoggerAppenderSyslog">LoggerAppenderSyslog</a>
			</li>
							</ul>
				</li>
																																																																																<li class="collapsed">
								<a href="../../docs/layouts.html" title="Layouts">Layouts</a>
						</li>
										<li class="none">
								<a href="../../docs/filters.html" title="Filters">Filters</a>
			</li>
										<li class="none">
								<a href="../../docs/renderers.html" title="Renderers">Renderers</a>
			</li>
										<li class="none">
								<a href="../../apidocs/index.html" title="API documentation">API documentation</a>
			</li>
							</ul>
			<ul class="nav nav-list">
								 <li class="nav-header"><i class="icon-user"></i>Community</li>
																	<li class="none">
								<a href="../../volunteering.html" title="Volunteering">Volunteering</a>
			</li>
										<li class="none">
								<a href="../../contributingpatches.html" title="Contributing Patches">Contributing Patches</a>
			</li>
										<li class="none">
						
						
				<a href="http://wiki.apache.org/logging-log4php" class="externalLink" target="_blank" title="Wiki">Wiki</a>
			</li>
										<li class="none">
						
						
				<a href="http://blogs.apache.org/logging/" class="externalLink" target="_blank" title="Blog">Blog</a>
			</li>
							</ul>
			<ul class="nav nav-list">
								 <li class="nav-header"><i class="icon-info-sign"></i>Project Information</li>
																	<li class="none">
								<a href="../../integration.html" title="Continuous Integration">Continuous Integration</a>
			</li>
										<li class="none">
								<a href="../../source-repository.html" title="Source Repository">Source Repository</a>
			</li>
										<li class="none">
								<a href="../../dependencies.html" title="Dependencies">Dependencies</a>
			</li>
										<li class="none">
								<a href="../../license.html" title="Project License">Project License</a>
			</li>
										<li class="none">
								<a href="../../team-list.html" title="Project Team">Project Team</a>
			</li>
										<li class="none">
								<a href="../../issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
			</li>
										<li class="none">
								<a href="../../mail-lists.html" title="Mailing Lists">Mailing Lists</a>
			</li>
							</ul>
			<ul class="nav nav-list">
								 <li class="nav-header"><i class="icon-cog"></i>Project Reports</li>
																	<li class="none">
								<a href="../../changes-report.html" title="Changes Report">Changes Report</a>
			</li>
										<li class="none">
								<a href="../../surefire-report.html" title="Surefire Report">Surefire Report</a>
			</li>
										<li class="none">
								<a href="../../rat-report.html" title="RAT Report">RAT Report</a>
			</li>
										<li class="none">
								<a href="../../coverage-report/index.html" title="Code Coverage">Code Coverage</a>
			</li>
							</ul>
			<ul class="nav nav-list">
								 <li class="nav-header"><i class="icon-heart"></i>Apache</li>
																	<li class="none">
						
						
				<a href="http://www.apache.org" class="externalLink" target="_blank" title="Home">Home</a>
			</li>
										<li class="none">
						
						
				<a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" target="_blank" title="Sponsorship">Sponsorship</a>
			</li>
										<li class="none">
						
						
				<a href="http://www.apache.org/licenses/" class="externalLink" target="_blank" title="License">License</a>
			</li>
										<li class="none">
						
						
				<a href="http://www.apache.org/foundation/thanks.html" class="externalLink" target="_blank" title="Thanks">Thanks</a>
			</li>
										<li class="none">
						
						
				<a href="http://www.apachecon.com" class="externalLink" target="_blank" title="Conferences">Conferences</a>
			</li>
										<li class="none">
						
						
				<a href="http://www.apache.org/security/" class="externalLink" target="_blank" title="Security">Security</a>
			</li>
							</ul>
							</div>
						<div id="poweredBy">
															<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
				<img class="poweredBy" alt="Built by Maven" src="../../images/logos/maven-feather.png" />
			</a>
									</div>
					</td>
					<td class="content">
						<!-- Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements. See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License. You may obtain a copy of the License at
 
         http://www.apache.org/licenses/LICENSE-2.0
 
 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License. -->

	
		<div class="section"><h2>LoggerAppenderNull<a name="LoggerAppenderNull"></a></h2>
		
			<p><tt>LoggerAppenderNull</tt> ignores all logging requests; it never outputs a message to any 
			device.</p>
			
			<div class="section"><h3>Layout<a name="Layout"></a></h3>
				<p>This appender does not require a layout.</p>
			</div>
			
			<div class="section"><h3>Parameters<a name="Parameters"></a></h3>
				<p>This appender does not have any configurable parameters.</p>
			</div>
			
			<div class="section"><h3>Examples<a name="Examples"></a></h3>
				
				<div class="auto-tabs">
					<ul>
						<li>XML</li>
						<li>PHP</li>
					</ul>
 
					<div class="tab-content">
						<div class="tab-pane">
<div class="prettyprint"><pre>
&lt;configuration xmlns=&quot;http://logging.apache.org/log4php/&quot;&gt;
    &lt;appender name=&quot;default&quot; class=&quot;LoggerAppenderNull&quot; /&gt;
    &lt;root&gt;
        &lt;appender_ref ref=&quot;default&quot; /&gt;
    &lt;/root&gt;
&lt;/configuration&gt;
</pre></div>
						</div>
						<div class="tab-pane">
<div class="prettyprint"><pre>
array(
    'appenders' =&gt; array(
        'default' =&gt; array(
            'class' =&gt; 'LoggerAppenderNull',
        ),
    ),
    'rootLogger' =&gt; array(
        'appenders' =&gt; array('default'),
    ),
);
</pre></div>
						</div>
					</div>
				</div>
				
			</div>
		</div>
	

					</td>
				</tr>
			</table>
		</div>
			
		<div class="footer">
			<p>Copyright &#169;										2012
												<a href="http://www.apache.org">Apache Software Foundation</a>.
						All Rights Reserved.			
				
				Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>. 
			Please read the <a href="../../privacy.html">Privacy policy</a></p>
			<p>Apache log4php, Apache, log4php, the Apache feather logo, the Apache Logging Services project logo and the Built by 
			Maven logo are trademarks of The Apache Software Foundation.</p>
		</div>
	</body>
</html>
