<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>LogImpl.WarnFormat Method (String, Object, Object, Object)</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">LogImpl.WarnFormat�Method�(String, Object, Object, Object)</h1>
      </div>
    </div>
    <div id="nstext">
      <p> Logs a formatted message string with the <code>WARN</code> level. </p>
      <div class="syntax">
        <span class="lang">[Visual�Basic]</span>
        <br />Overridable�Overloads�Public�Sub�WarnFormat( _<br />���ByVal <i>format</i>�As�<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemStringClassTopic.htm">String</a>,�_<br />���ByVal <i>arg0</i>�As�<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassTopic.htm">Object</a>,�_<br />���ByVal <i>arg1</i>�As�<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassTopic.htm">Object</a>,�_<br />���ByVal <i>arg2</i>�As�<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassTopic.htm">Object</a>�_<br />)�_<div>����Implements�<a href="log4net.ILog.WarnFormat_overload_4.html">ILog.WarnFormat</a></div></div>
      <div class="syntax">
        <span class="lang">[C#]</span>
        <br />public�virtual�<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemVoidClassTopic.htm">void</a>�WarnFormat(<br />���<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemStringClassTopic.htm">string</a>�<i>format</i>,<br />���<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassTopic.htm">object</a>�<i>arg0</i>,<br />���<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassTopic.htm">object</a>�<i>arg1</i>,<br />���<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassTopic.htm">object</a>�<i>arg2</i><br />);</div>
      <h4 class="dtH4">Parameters</h4>
      <dl>
        <dt>
          <i>format</i>
        </dt>
        <dd>A String containing zero or more format items</dd>
        <dt>
          <i>arg0</i>
        </dt>
        <dd>An Object to format</dd>
        <dt>
          <i>arg1</i>
        </dt>
        <dd>An Object to format</dd>
        <dt>
          <i>arg2</i>
        </dt>
        <dd>An Object to format</dd>
      </dl>
      <h4 class="dtH4">Implements</h4>
      <p>
        <a href="log4net.ILog.WarnFormat_overload_4.html">ILog.WarnFormat</a>
      </p>
      <h4 class="dtH4">Remarks</h4>
            <p> The message is formatted using the <b>Format</b> method. See <code>String.Format</code> for details of the syntax of the format string and the behavior of the formatting. </p>
            <p> The string is formatted using the <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemGlobalizationCultureInfoClassInvariantCultureTopic.htm">InvariantCulture</a> format provider. To specify a localized provider use the <b>WarnFormat</b> method. </p>
            <p> This method does not take an <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemExceptionClassTopic.htm">Exception</a> object to include in the log event. To pass an <b>Exception</b> use one of the <b>Warn</b> methods instead. </p>
            <h4 class="dtH4">See Also</h4><p><a href="log4net.Core.LogImpl.html">LogImpl Class</a> | <a href="log4net.Core.html">log4net.Core Namespace</a> | <a href="log4net.Core.LogImpl.WarnFormat_overloads.html">LogImpl.WarnFormat Overload List</a></p><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e" viewastext="true" style="display: none;"><param name="Keyword" value="WarnFormat method"></param><param name="Keyword" value="WarnFormat method, LogImpl class"></param><param name="Keyword" value="LogImpl.WarnFormat 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>
