<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml">
		<head>
			<!-- template designed by Marco Von Ballmoos  -->
			<title>Docs For Class LoggerLayoutSerialized</title>
			<link rel="stylesheet" href="../../media/stylesheet.css" />
						<script src="../../media/lib/classTree.js"></script>
												<script language="javascript" type="text/javascript">
				var imgPlus = new Image();
				var imgMinus = new Image();
				imgPlus.src = "../../media/images/plus.png";
				imgMinus.src = "../../media/images/minus.png";
				
				function showNode(Node){
							switch(navigator.family){
								case 'nn4':
									// Nav 4.x code fork...
							var oTable = document.layers["span" + Node];
							var oImg = document.layers["img" + Node];
									break;
								case 'ie4':
									// IE 4/5 code fork...
							var oTable = document.all["span" + Node];
							var oImg = document.all["img" + Node];
									break;
								case 'gecko':
									// Standards Compliant code fork...
							var oTable = document.getElementById("span" + Node);
							var oImg = document.getElementById("img" + Node);
									break;
							}
					oImg.src = imgMinus.src;
					oTable.style.display = "block";
				}
				
				function hideNode(Node){
							switch(navigator.family){
								case 'nn4':
									// Nav 4.x code fork...
							var oTable = document.layers["span" + Node];
							var oImg = document.layers["img" + Node];
									break;
								case 'ie4':
									// IE 4/5 code fork...
							var oTable = document.all["span" + Node];
							var oImg = document.all["img" + Node];
									break;
								case 'gecko':
									// Standards Compliant code fork...
							var oTable = document.getElementById("span" + Node);
							var oImg = document.getElementById("img" + Node);
									break;
							}
					oImg.src = imgPlus.src;
					oTable.style.display = "none";
				}
				
				function nodeIsVisible(Node){
							switch(navigator.family){
								case 'nn4':
									// Nav 4.x code fork...
							var oTable = document.layers["span" + Node];
									break;
								case 'ie4':
									// IE 4/5 code fork...
							var oTable = document.all["span" + Node];
									break;
								case 'gecko':
									// Standards Compliant code fork...
							var oTable = document.getElementById("span" + Node);
									break;
							}
					return (oTable && oTable.style.display == "block");
				}
				
				function toggleNodeVisibility(Node){
					if (nodeIsVisible(Node)){
						hideNode(Node);
					}else{
						showNode(Node);
					}
				}
			</script>
					</head>
		<body>
			<div class="page-body">			
<h2 class="class-name">Class LoggerLayoutSerialized</h2>

<a name="sec-description"></a>
<div class="info-box">
	<div class="info-box-title">Description</div>
	<div class="nav-bar">
					<span class="disabled">Description</span> |
													<a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
						|											<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
						
					</div>
	<div class="info-box-body">
        		<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Layout which formats the events using PHP's serialize() function.</p>
<p class="description"><p>Available options: <ul><li>locationInfo - If set to true, the event's location information will also
                  be serialized (slow, defaults to false).</li></ul></p></p>
	<ul class="tags">
				<li><span class="field">version:</span> $Revision: 1059292 $</li>
				<li><span class="field">since:</span> 2.2</li>
			</ul>
		<p class="notes">
			Located in <a class="field" href="_layouts---LoggerLayoutSerialized.php.html">/layouts/LoggerLayoutSerialized.php</a> (line <span class="field">33</span>)
		</p>
		
				
		<pre><a href="../../log4php/LoggerConfigurable.html">LoggerConfigurable</a>
   |
   --<a href="../../log4php/LoggerLayout.html">LoggerLayout</a>
      |
      --LoggerLayoutSerialized</pre>
	
			</div>
</div>



	<a name="sec-var-summary"></a>
	<div class="info-box">
		<div class="info-box-title">Variable Summary</span></div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
						<span class="disabled">Vars</span> (<a href="#sec-vars">details</a>)
							| 
									<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
							
								</div>
		<div class="info-box-body">
			<div class="var-summary">
																								<div class="var-title">
					<span class="var-type">mixed</span>
					<a href="#$locationInfo" title="details" class="var-name">$locationInfo</a>
				</div>
											</div>
		</div>
	</div>

	<a name="sec-method-summary"></a>
	<div class="info-box">
		<div class="info-box-title">Method Summary</span></div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
																		<a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
				 
				|
						<span class="disabled">Methods</span> (<a href="#sec-methods">details</a>)
		</div>
		<div class="info-box-body">			
			<div class="method-summary">
																																						
				<div class="method-definition">
											<span class="method-result">void</span>
										<a href="#format" title="details" class="method-name">format</a>
											(<span class="var-type"><a href="../../log4php/LoggerLoggingEvent.html">LoggerLoggingEvent</a></span>&nbsp;<span class="var-name">$event</span>)
									</div>
														
				<div class="method-definition">
											<span class="method-result">void</span>
										<a href="#getLocationInfo" title="details" class="method-name">getLocationInfo</a>
										()
									</div>
														
				<div class="method-definition">
											<span class="method-result">void</span>
										<a href="#setLocationInfo" title="details" class="method-name">setLocationInfo</a>
											(<span class="var-type"></span>&nbsp;<span class="var-name">$value</span>)
									</div>
											</div>
		</div>
	</div>		

	<a name="sec-vars"></a>
	<div class="info-box">
		<div class="info-box-title">Variables</div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
										<a href="#sec-var-summary">Vars</a> (<span class="disabled">details</span>)
						
			
										| 
									<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
							
					</div>
		<div class="info-box-body">
			<a name="var$locationInfo" id="$locationInfo"><!-- --></A>
<div class="evenrow">

	<div class="var-header">
		<span class="var-title">
			<span class="var-type">mixed</span>
			<span class="var-name">$locationInfo</span>
			 = <span class="var-default"> false</span>			(line <span class="line-number">36</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Whether to include the event's location information (slow).</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	
		
		

</div>
						
		</div>
	</div>
	
	<a name="sec-methods"></a>
	<div class="info-box">
		<div class="info-box-title">Methods</div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
															<a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
																	<a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>)
						
		</div>
		<div class="info-box-body">
			<A NAME='method_detail'></A>
<a name="methodformat" id="format"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">format</span> (line <span class="line-number">48</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">void</span>
		<span class="method-name">
			format
		</span>
					(<span class="var-type"><a href="../../log4php/LoggerLoggingEvent.html">LoggerLoggingEvent</a></span>&nbsp;<span class="var-name">$event</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type"><a href="../../log4php/LoggerLoggingEvent.html">LoggerLoggingEvent</a></span>
				<span class="var-name">$event</span>			</li>
				</ul>
		
			<hr class="separator" />
		<div class="notes">Redefinition of:</div>
		<dl>
			<dt><a href="../../log4php/LoggerLayout.html#methodformat">LoggerLayout::format()</a></dt>
						<dd>Override this method to create your own layout format.</dd>
					</dl>
			
	</div>
<a name="methodgetLocationInfo" id="getLocationInfo"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">getLocationInfo</span> (line <span class="line-number">44</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Returns the location information flag.</p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">void</span>
		<span class="method-name">
			getLocationInfo
		</span>
				()
			</div>
	
		
			
	</div>
<a name="methodsetLocationInfo" id="setLocationInfo"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">setLocationInfo</span> (line <span class="line-number">39</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Sets the location information flag.</p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">void</span>
		<span class="method-name">
			setLocationInfo
		</span>
					(<span class="var-type"></span>&nbsp;<span class="var-name">$value</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type"></span>
				<span class="var-name">$value</span>			</li>
				</ul>
		
			
	</div>
							<h4>Inherited Methods</h4>
				<a name='inherited_methods'><!-- --></a>	
									<!-- =========== Summary =========== -->
					<p>Inherited From <span class="classname"><a href="../../log4php/LoggerLayout.html">LoggerLayout</a></span></p>
					<blockquote>
													<span class="method-name"><a href="../../log4php/LoggerLayout.html#methodactivateOptions">LoggerLayout::activateOptions()</a></span><br>
													<span class="method-name"><a href="../../log4php/LoggerLayout.html#methodformat">LoggerLayout::format()</a></span><br>
													<span class="method-name"><a href="../../log4php/LoggerLayout.html#methodgetContentType">LoggerLayout::getContentType()</a></span><br>
													<span class="method-name"><a href="../../log4php/LoggerLayout.html#methodgetFooter">LoggerLayout::getFooter()</a></span><br>
													<span class="method-name"><a href="../../log4php/LoggerLayout.html#methodgetHeader">LoggerLayout::getHeader()</a></span><br>
													<span class="method-name"><a href="../../log4php/LoggerLayout.html#methodwarn">LoggerLayout::warn()</a></span><br>
											</blockquote>
									<!-- =========== Summary =========== -->
					<p>Inherited From <span class="classname"><a href="../../log4php/LoggerConfigurable.html">LoggerConfigurable</a></span></p>
					<blockquote>
													<span class="method-name"><a href="../../log4php/LoggerConfigurable.html#methodsetBoolean">LoggerConfigurable::setBoolean()</a></span><br>
													<span class="method-name"><a href="../../log4php/LoggerConfigurable.html#methodsetFileSize">LoggerConfigurable::setFileSize()</a></span><br>
													<span class="method-name"><a href="../../log4php/LoggerConfigurable.html#methodsetInteger">LoggerConfigurable::setInteger()</a></span><br>
													<span class="method-name"><a href="../../log4php/LoggerConfigurable.html#methodsetLevel">LoggerConfigurable::setLevel()</a></span><br>
													<span class="method-name"><a href="../../log4php/LoggerConfigurable.html#methodsetNumeric">LoggerConfigurable::setNumeric()</a></span><br>
													<span class="method-name"><a href="../../log4php/LoggerConfigurable.html#methodsetPositiveInteger">LoggerConfigurable::setPositiveInteger()</a></span><br>
													<span class="method-name"><a href="../../log4php/LoggerConfigurable.html#methodsetString">LoggerConfigurable::setString()</a></span><br>
													<span class="method-name"><a href="../../log4php/LoggerConfigurable.html#methodwarn">LoggerConfigurable::warn()</a></span><br>
											</blockquote>
										
		</div>
	</div>


	<p class="notes" id="credit">
		Documentation generated on Sat, 18 Feb 2012 22:32:25 +0000 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a>
	</p>
	</div></body>
</html>