<html dir="LTR">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=Windows-1252" />
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5" />
    <title>ILayout.Format Method</title>
    <xml>
    </xml>
    <link rel="stylesheet" type="text/css" href="MSDN.css" />
  </head>
  <body id="bodyID" class="dtBODY">
    <div id="nsbanner">
      <div id="bannerrow1">
        <table class="bannerparthead" cellspacing="0">
          <tr id="hdr">
            <td class="runninghead">Apache log4net� SDK Documentation - Microsoft .NET Framework 4.0</td>
            <td class="product">
            </td>
          </tr>
        </table>
      </div>
      <div id="TitleRow">
        <h1 class="dtH1">ILayout.Format�Method�</h1>
      </div>
    </div>
    <div id="nstext">
      <p> Implement this method to create your own layout format. </p>
      <div class="syntax">
        <span class="lang">[Visual�Basic]</span>
        <br />Sub�Format( _<br />���ByVal <i>writer</i>�As�<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemIOTextWriterClassTopic.htm">TextWriter</a>,�_<br />���ByVal <i>loggingEvent</i>�As�<a href="log4net.Core.LoggingEvent.html">LoggingEvent</a>�_<br />)</div>
      <div class="syntax">
        <span class="lang">[C#]</span>
        <br />
        <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemVoidClassTopic.htm">void</a>�Format(<br />���<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemIOTextWriterClassTopic.htm">TextWriter</a>�<i>writer</i>,<br />���<a href="log4net.Core.LoggingEvent.html">LoggingEvent</a>�<i>loggingEvent</i><br />);</div>
      <h4 class="dtH4">Parameters</h4>
      <dl>
        <dt>
          <i>writer</i>
        </dt>
        <dd>The TextWriter to write the formatted event to</dd>
        <dt>
          <i>loggingEvent</i>
        </dt>
        <dd>The event to format</dd>
      </dl>
      <h4 class="dtH4">Remarks</h4>
            <p> This method is called by an appender to format the <i>loggingEvent</i> as text and output to a writer. </p>
            <p> If the caller does not have a <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemIOTextWriterClassTopic.htm">TextWriter</a> and prefers the event to be formatted as a <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemStringClassTopic.htm">String</a> then the following code can be used to format the event into a <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemIOStringWriterClassTopic.htm">StringWriter</a>. </p>
            <pre class="code"><span class="lang">[C#]
</span>StringWriter writer = new StringWriter();
Layout.Format(writer, loggingEvent);
string formattedEvent = writer.ToString();
</pre>
            <h4 class="dtH4">See Also</h4><p><a href="log4net.Layout.ILayout.html">ILayout Interface</a> | <a href="log4net.Layout.html">log4net.Layout Namespace</a></p><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e" viewastext="true" style="display: none;"><param name="Keyword" value="Format method"></param><param name="Keyword" value="Format method, ILayout interface"></param><param name="Keyword" value="ILayout.Format method"></param></object><hr /><div id="footer"><a href='http://logging.apache.org/log4net/'>Copyright 2004-2011 The Apache Software Foundation.</a><br></br>Apache log4net, Apache and log4net are trademarks of The Apache Software Foundation.</div></div>
  </body>
</html>
