<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>ErrorFormatExt 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">ILogExtensions.ErrorFormatExt�Method</h1>
      </div>
    </div>
    <div id="nstext">
      <p> Logs a formatted message string with the <a href="log4net.Core.Level.Error.html">Error</a> level. </p>
      <h4 class="dtH4">Overload List</h4>
      <p> Logs a formatted message string with the <a href="log4net.Core.Level.Error.html">Error</a> level. </p>
      <blockquote class="dtBlock">
        <a href="log4net.Util.ILogExtensions.ErrorFormatExt_overload_3.html">public�static�void�ErrorFormatExt(ILog,IFormatProvider,string,params�object[]);</a>
      </blockquote>
      <p> Logs a formatted message string with the <a href="log4net.Core.Level.Error.html">Error</a> level. </p>
      <blockquote class="dtBlock">
        <a href="log4net.Util.ILogExtensions.ErrorFormatExt_overload_1.html">public�static�void�ErrorFormatExt(ILog,string,object);</a>
      </blockquote>
      <p> Logs a formatted message string with the <a href="log4net.Core.Level.Error.html">Error</a> level. </p>
      <blockquote class="dtBlock">
        <a href="log4net.Util.ILogExtensions.ErrorFormatExt_overload_4.html">public�static�void�ErrorFormatExt(ILog,string,object,object);</a>
      </blockquote>
      <p> Logs a formatted message string with the <a href="log4net.Core.Level.Error.html">Error</a> level. </p>
      <blockquote class="dtBlock">
        <a href="log4net.Util.ILogExtensions.ErrorFormatExt_overload_5.html">public�static�void�ErrorFormatExt(ILog,string,object,object,object);</a>
      </blockquote>
      <p> Logs a formatted message string with the <a href="log4net.Core.Level.Error.html">Error</a> level. </p>
      <blockquote class="dtBlock">
        <a href="log4net.Util.ILogExtensions.ErrorFormatExt_overload_2.html">public�static�void�ErrorFormatExt(ILog,string,params�object[]);</a>
      </blockquote>
      <h4 class="dtH4">See Also</h4>
      <p>
        <a href="log4net.Util.ILogExtensions.html">ILogExtensions Class</a> | <a href="log4net.Util.html">log4net.Util Namespace</a> | <a href="log4net.ILog.Error_overload_1.html">Error</a> | <a href="log4net.ILog.IsErrorEnabled.html">IsErrorEnabled</a></p>
      <hr />
      <div id="footer"><a href='http://logging.apache.org/log4net/'>Copyright 2004-2013 The Apache Software Foundation.</a><br></br>Apache log4net, Apache and log4net are trademarks of The Apache Software Foundation.</div>
    </div>
  </body>
</html>
