<!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 LoggerAppenderConsole | 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 class="active"><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 class="active"><a href="class-LoggerAppenderConsole.html">LoggerAppenderConsole</a></li>
				<li><a href="class-LoggerAppenderDailyFile.html">LoggerAppenderDailyFile</a></li>
				<li><a href="class-LoggerAppenderEcho.html">LoggerAppenderEcho</a></li>
				<li><a href="class-LoggerAppenderFile.html">LoggerAppenderFile</a></li>
				<li><a href="class-LoggerAppenderFirePHP.html">LoggerAppenderFirePHP</a></li>
				<li><a href="class-LoggerAppenderMail.html">LoggerAppenderMail</a></li>
				<li><a href="class-LoggerAppenderMailEvent.html">LoggerAppenderMailEvent</a></li>
				<li><a href="class-LoggerAppenderMongoDB.html">LoggerAppenderMongoDB</a></li>
				<li><a href="class-LoggerAppenderNull.html">LoggerAppenderNull</a></li>
				<li><a href="class-LoggerAppenderPDO.html">LoggerAppenderPDO</a></li>
				<li><a href="class-LoggerAppenderPhp.html">LoggerAppenderPhp</a></li>
				<li><a href="class-LoggerAppenderRollingFile.html">LoggerAppenderRollingFile</a></li>
				<li><a href="class-LoggerAppenderSocket.html">LoggerAppenderSocket</a></li>
				<li><a href="class-LoggerAppenderSyslog.html">LoggerAppenderSyslog</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.appenders.html" title="Summary of log4php\appenders"><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 LoggerAppenderConsole</h1>


	<div class="description">
	
<p>LoggerAppenderConsole appends log events either to the standard output stream
(php://stdout) or the standard error stream (php://stderr).</p>

<p><strong>Note</strong>: Use this Appender with command-line php scripts. On
web scripts this appender has no effects.</p>

<p>This appender uses a layout.</p>

<h1>Configurable parameters:</h1>

<ul>
	<li><strong>target</strong> - the target stream: "stdout" or "stderr"</li>
</ul>

	</div>

	<dl class="tree">
		<dd style="padding-left:0px">
			<a href="class-LoggerConfigurable.html"><span>LoggerConfigurable</span></a>
			
			
			
		</dd>
		<dd style="padding-left:30px">
			<img src="resources/inherit.png" alt="Extended by" />
			<a href="class-LoggerAppender.html"><span>LoggerAppender</span></a>
			
			
			
		</dd>
		<dd style="padding-left:60px">
			<img src="resources/inherit.png" alt="Extended by" />
<b><span>LoggerAppenderConsole</span></b>			
			
			
		</dd>
	</dl>








	<div class="info">
		
		
		
		<b>Package:</b> <a href="package-log4php.html">log4php</a>\<a href="package-log4php.appenders.html">appenders</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: 1343601 $<br />
				<b>Link:</b>
				<a href="http://logging.apache.org/log4php/docs/appenders/console.html">Appender documentation</a><br />
		<b>Located at</b> <a href="source-class-LoggerAppenderConsole.html#19-103" title="Go to source code">appenders/LoggerAppenderConsole.php</a><br />
	</div>



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

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

		<td class="name"><div>
		<a class="anchor" href="#_activateOptions">#</a>
		<code><a href="source-class-LoggerAppenderConsole.html#55-61" title="Go to source code">activateOptions</a>( )</code>

		<div class="description short">
			
<p>Prepares the appender for logging.</p>

		</div>

		<div class="description detailed hidden">
			
<p>Prepares the appender for logging.</p>

<p>Derived appenders should override this method if option structure requires
it.</p>







				<h4>Overrides</h4>
				<div class="list"><code><a href="class-LoggerAppender.html#_activateOptions">LoggerAppender::activateOptions()</a></code></div>

		</div>
		</div></td>
	</tr>
	<tr data-order="close" id="_close">

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

		<td class="name"><div>
		<a class="anchor" href="#_close">#</a>
		<code><a href="source-class-LoggerAppenderConsole.html#64-72" title="Go to source code">close</a>( )</code>

		<div class="description short">
			
<p>Releases any resources allocated by the appender.</p>

		</div>

		<div class="description detailed hidden">
			
<p>Releases any resources allocated by the appender.</p>

<p>Derived appenders should override this method to perform proper closing
procedures.</p>







				<h4>Overrides</h4>
				<div class="list"><code><a href="class-LoggerAppender.html#_close">LoggerAppender::close()</a></code></div>

		</div>
		</div></td>
	</tr>
	<tr data-order="append" id="_append">

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

		<td class="name"><div>
		<a class="anchor" href="#_append">#</a>
		<code><a href="source-class-LoggerAppenderConsole.html#74-78" title="Go to source code">append</a>( <span><code><a href="class-LoggerLoggingEvent.html">LoggerLoggingEvent</a></code> <var>$event</var></span> )</code>

		<div class="description short">
			
<p>Forwards the logging event to the destination.</p>

		</div>

		<div class="description detailed hidden">
			
<p>Forwards the logging event to the destination.</p>

<p>Derived appenders should implement this method to perform actual logging.</p>



				<h4>Parameters</h4>
				<div class="list"><dl>
					<dt><var>$event</var></dt>
					<dd><code><code><a href="class-LoggerLoggingEvent.html">LoggerLoggingEvent</a></code></code><br>$event</dd>
				</dl></div>





		</div>
		</div></td>
	</tr>
	<tr data-order="setTarget" id="_setTarget">

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

		<td class="name"><div>
		<a class="anchor" href="#_setTarget">#</a>
		<code><a href="source-class-LoggerAppenderConsole.html#80-94" title="Go to source code">setTarget</a>( <span>string <var>$target</var></span> )</code>

		<div class="description short">
			
<p>Sets the 'target' parameter.</p>

		</div>

		<div class="description detailed hidden">
			
<p>Sets the 'target' parameter.</p>



				<h4>Parameters</h4>
				<div class="list"><dl>
					<dt><var>$target</var></dt>
					<dd><code>string</code><br>$target</dd>
				</dl></div>





		</div>
		</div></td>
	</tr>
	<tr data-order="getTarget" id="_getTarget">

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

		<td class="name"><div>
		<a class="anchor" href="#_getTarget">#</a>
		<code><a href="source-class-LoggerAppenderConsole.html#96-102" title="Go to source code">getTarget</a>( )</code>

		<div class="description short">
			
<p>Returns the value of the 'target' parameter.</p>

		</div>

		<div class="description detailed hidden">
			
<p>Returns the value of the 'target' parameter.</p>




				<h4>Returns</h4>
				<div class="list">
					<code>string</code><br />
				</div>




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

	<table class="summary inherited">
	<caption>Methods inherited from <a href="class-LoggerAppender.html#methods">LoggerAppender</a></caption>
	<tr>
		<td><code>
			<a href="class-LoggerAppender.html#___construct">__construct()</a>, 
			<a href="class-LoggerAppender.html#___destruct">__destruct()</a>, 
			<a href="class-LoggerAppender.html#_addFilter">addFilter()</a>, 
			<a href="class-LoggerAppender.html#_clearFilters">clearFilters()</a>, 
			<a href="class-LoggerAppender.html#_doAppend">doAppend()</a>, 
			<a href="class-LoggerAppender.html#_getDefaultLayout">getDefaultLayout()</a>, 
			<a href="class-LoggerAppender.html#_getFilter">getFilter()</a>, 
			<a href="class-LoggerAppender.html#_getFirstFilter">getFirstFilter()</a>, 
			<a href="class-LoggerAppender.html#_getLayout">getLayout()</a>, 
			<a href="class-LoggerAppender.html#_getName">getName()</a>, 
			<a href="class-LoggerAppender.html#_getThreshold">getThreshold()</a>, 
			<a href="class-LoggerAppender.html#_isAsSevereAsThreshold">isAsSevereAsThreshold()</a>, 
			<a href="class-LoggerAppender.html#_requiresLayout">requiresLayout()</a>, 
			<a href="class-LoggerAppender.html#_setLayout">setLayout()</a>, 
			<a href="class-LoggerAppender.html#_setName">setName()</a>, 
			<a href="class-LoggerAppender.html#_setThreshold">setThreshold()</a>, 
			<a href="class-LoggerAppender.html#_warn">warn()</a>
		</code></td>
	</tr>
	</table>
	<table class="summary inherited">
	<caption>Methods inherited from <a href="class-LoggerConfigurable.html#methods">LoggerConfigurable</a></caption>
	<tr>
		<td><code>
			<a href="class-LoggerConfigurable.html#_setBoolean">setBoolean()</a>, 
			<a href="class-LoggerConfigurable.html#_setFileSize">setFileSize()</a>, 
			<a href="class-LoggerConfigurable.html#_setInteger">setInteger()</a>, 
			<a href="class-LoggerConfigurable.html#_setLevel">setLevel()</a>, 
			<a href="class-LoggerConfigurable.html#_setNumeric">setNumeric()</a>, 
			<a href="class-LoggerConfigurable.html#_setPositiveInteger">setPositiveInteger()</a>, 
			<a href="class-LoggerConfigurable.html#_setString">setString()</a>
		</code></td>
	</tr>
	</table>







	<table class="summary" id="constants">
	<caption>Constants summary</caption>
	<tr data-order="STDOUT" id="STDOUT">

		<td class="attributes"><code>string</code></td>
		<td class="name"><code>
				<a href="source-class-LoggerAppenderConsole.html#40-41" title="Go to source code"><b>STDOUT</b></a>
		</code></td>
		<td class="value"><code><span class="php-quote">'php://stdout'</span></code></td>
		<td class="description"><div>
			<a href="#STDOUT" class="anchor">#</a>

			<div class="description short">
				
<p>The standard otuput stream.</p>

			</div>

			<div class="description detailed hidden">
				
<p>The standard otuput stream.</p>


			</div>
		</div></td>
	</tr>
	<tr data-order="STDERR" id="STDERR">

		<td class="attributes"><code>string</code></td>
		<td class="name"><code>
				<a href="source-class-LoggerAppenderConsole.html#43-44" title="Go to source code"><b>STDERR</b></a>
		</code></td>
		<td class="value"><code><span class="php-quote">'php://stderr'</span></code></td>
		<td class="description"><div>
			<a href="#STDERR" class="anchor">#</a>

			<div class="description short">
				
<p>The standard error stream.</p>

			</div>

			<div class="description detailed hidden">
				
<p>The standard error stream.</p>


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




	<table class="summary" id="properties">
	<caption>Properties summary</caption>
	<tr data-order="target" id="$target">
		<td class="attributes"><code>
			protected  
			string
		</code></td>

		<td class="name">
				<a href="source-class-LoggerAppenderConsole.html#46-47" title="Go to source code"><var>$target</var></a>
		</td>
		<td class="value"><code><code><a href="class-LoggerAppenderConsole.html#STDOUT">LoggerAppenderConsole::<b>STDOUT</b></a></code></code></td>
		<td class="description"><div>
			<a href="#$target" class="anchor">#</a>

			<div class="description short">
				
<p>The 'target' parameter.</p>

			</div>

			<div class="description detailed hidden">
				
<p>The 'target' parameter.</p>


			</div>
		</div></td>
	</tr>
	<tr data-order="fp" id="$fp">
		<td class="attributes"><code>
			protected  
			resource
		</code></td>

		<td class="name">
				<a href="source-class-LoggerAppenderConsole.html#49-53" title="Go to source code"><var>$fp</var></a>
		</td>
		<td class="value"><code><span class="php-keyword1">null</span></code></td>
		<td class="description"><div>
			<a href="#$fp" class="anchor">#</a>

			<div class="description short">
				
<p>Stream resource for the target stream.</p>

			</div>

			<div class="description detailed hidden">
				
<p>Stream resource for the target stream.</p>


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

	<table class="summary inherited">
	<caption>Properties inherited from <a href="class-LoggerAppender.html#properties">LoggerAppender</a></caption>
	<tr>
		<td><code>
			<a href="class-LoggerAppender.html#$closed"><var>$closed</var></a>, 
			<a href="class-LoggerAppender.html#$filter"><var>$filter</var></a>, 
			<a href="class-LoggerAppender.html#$layout"><var>$layout</var></a>, 
			<a href="class-LoggerAppender.html#$name"><var>$name</var></a>, 
			<a href="class-LoggerAppender.html#$requiresLayout"><var>$requiresLayout</var></a>, 
			<a href="class-LoggerAppender.html#$threshold"><var>$threshold</var></a>
		</code></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>
