<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>SystemInfo Properties</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">SystemInfo�Properties</h1>
      </div>
    </div>
    <div id="nstext">
      <p>The properties of the <b>SystemInfo</b> class are listed below. For a complete list of <b>SystemInfo</b> class members, see the <a href="log4net.Util.SystemInfoMembers.html">SystemInfo Members</a> topic.</p>
      <h4 class="dtH4">Public Static (Shared) Properties</h4>
      <div class="tablediv">
        <table class="dtTABLE" cellspacing="0">
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><img src="static.gif" /><a href="log4net.Util.SystemInfo.ApplicationBaseDirectory.html">ApplicationBaseDirectory</a></td><td width="50%"> Gets the base directory for this <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemAppDomainClassTopic.htm">AppDomain</a>. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><img src="static.gif" /><a href="log4net.Util.SystemInfo.ApplicationFriendlyName.html">ApplicationFriendlyName</a></td><td width="50%"> Get this application's friendly name </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><img src="static.gif" /><a href="log4net.Util.SystemInfo.ConfigurationFileLocation.html">ConfigurationFileLocation</a></td><td width="50%"> Gets the path to the configuration file for the current <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemAppDomainClassTopic.htm">AppDomain</a>. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><img src="static.gif" /><a href="log4net.Util.SystemInfo.CurrentThreadId.html">CurrentThreadId</a></td><td width="50%"> Gets the ID of the current thread. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><img src="static.gif" /><a href="log4net.Util.SystemInfo.EntryAssemblyLocation.html">EntryAssemblyLocation</a></td><td width="50%"> Gets the path to the file that first executed in the current <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemAppDomainClassTopic.htm">AppDomain</a>. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><img src="static.gif" /><a href="log4net.Util.SystemInfo.HostName.html">HostName</a></td><td width="50%"> Get the host name or machine name for the current machine </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><img src="static.gif" /><a href="log4net.Util.SystemInfo.NewLine.html">NewLine</a></td><td width="50%"> Gets the system dependent line terminator. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><img src="static.gif" /><a href="log4net.Util.SystemInfo.NotAvailableText.html">NotAvailableText</a></td><td width="50%"> Text to output when an unsupported feature is requested. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><img src="static.gif" /><a href="log4net.Util.SystemInfo.NullText.html">NullText</a></td><td width="50%"> Text to output when a <code>null</code> is encountered. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><img src="static.gif" /><a href="log4net.Util.SystemInfo.ProcessStartTime.html">ProcessStartTime</a></td><td width="50%"> Get the start time for the current process. </td></tr></table>
      </div>
      <h4 class="dtH4">See Also</h4>
      <p>
        <a href="log4net.Util.SystemInfo.html">SystemInfo Class</a> | <a href="log4net.Util.html">log4net.Util Namespace</a></p>
      <object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e" viewastext="true" style="display: none;">
        <param name="Keyword" value="SystemInfo class, properties">
        </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>
