<!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>
 		LoggerAppenderConsole - 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 active">
								<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">
								<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>LoggerAppenderConsole<a name="LoggerAppenderConsole"></a></h2>
		
			<p><tt>LoggerAppenderConsole</tt> writes logging events to the <tt>php://stdout</tt> or 
			the <tt>php://stderr</tt> stream, the former being the default target.</p>
			
			<div class="section"><h3>Layout<a name="Layout"></a></h3>
				<p>This appender requires a layout. If no layout is specified in configuration, 
				<tt><a href="../layouts/simple.html">LoggerLayoutSimple</a></tt> will be used by default.</p>
			</div>

			<div class="section"><h3>Parameters<a name="Parameters"></a></h3>
				<p>The following parameters are available:</p>
		
				<table border="0" class="bodyTable">
					<thead>
						<tr class="a">
							<th>Parameter</th>
							<th>Type</th>
							<th>Required</th>
							<th>Default</th>
							<th>Description</th>
						</tr>
					</thead>
					<tbody>
						<tr class="b">
							<td>target</td>
							<td>string</td>
							<td>No</td>
							<td>stdout</td>
							<td>The stream to write to; either &quot;stdout&quot; or &quot;stderr&quot;.</td>
						</tr>
					</tbody>
				</table>
				
			</div>
				
			<div class="section"><h3>Examples<a name="Examples"></a></h3>
			
				<p>This example shows how to configure <tt>LoggerAppenderConsole</tt>.</p>
				
				<div class="auto-tabs">
					<ul>
						<li>XML</li>
						<li>PHP</li>
					</ul>
					
					<div class="tab-content">
						<div class="tab-pane">
<div class="prettyprint linenums"><pre>
&lt;configuration xmlns=&quot;http://logging.apache.org/log4php/&quot;&gt;
    &lt;appender name=&quot;default&quot; class=&quot;LoggerAppenderConsole&quot;&gt;
        &lt;layout class=&quot;LoggerLayoutTTCC&quot; /&gt;
    &lt;/appender&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 linenums"><pre>
array(
    'appenders' =&gt; array(
        'default' =&gt; array(
            'class' =&gt; 'LoggerAppenderConsole',
            'layout' =&gt; array(
                'class' =&gt; 'LoggerLayoutTTCC',
            ),
        ),
    ),
    '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>
