Newbie help

Matthew Griffore <[email protected]> Wed, 4 Feb 2004 17:22:52 -0500
Newsgroups gmane.comp.windows.dotnet.log4net.user
Message-ID <[email protected]>
This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

------_=_NextPart_001_01C3EB6D.6E35FB60
Content-Type: text/plain

I've had some limited success with Log4Net and I hope for someone to clear
this up for me.

I am able to log to different appenders without any problem. However, from
the sample code in the manual it states that the fastest way to determine if
logging is enabled I should use a private static readonly member variable.
Not a problem right? Wrong. I can't seem to read the log object's Boolean
values until I configure the logger.

Am I missing something? Any help would be greatly appreciated. Also, does
anyone know if a WMI appender will ever be supported with log4net? Thanks.

Here is the code I'm working with:

CONFIG FILE:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
	<configSections>
		<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler,log4net-net-1.0"/>
	</configSections>
	<log4net>
		<logger name="testApp.Logging">
			<level value="DEBUG"/>
		</logger>
		<root>
			<level value="WARN"/>
			<appender-ref ref=" EventLogAppender "/>
		</root>
		<appender name="EventLogAppender"
type="log4net.Appender.EventLogAppender" >
			<param name="Threshold" value="ERROR"/>
			<param name="ApplicationName"
value="Log4NetSample"/>
			<layout type="log4net.Layout.PatternLayout">
				<param name="ConversionPattern" value="%d
[%t] %-5p %c [%x] - %m%n"/>
			</layout>
		</appender>
	</log4net>
</configuration>

C# CODE:
using System;
using System.IO;
using log4net;

public class driver
{
	// Is this how I should be initializing the log object? With the
name of my logger?
	private static readonly ILog log =
LogManager.GetLogger("testApp.Logging");

	// These Boolean values are not available until I read the config
file???
	private static readonly bool isDebugEnabled = log.IsDebugEnabled;
	private static readonly bool isErrorEnabled = log.IsErrorEnabled;
	private static readonly bool isFatalEnabled = log.IsFatalEnabled;
	private static readonly bool isInfoEnabled = log.IsInfoEnabled;
	private static readonly bool isIsWarnEnabled = log.IsWarnEnabled;

	static void Main(string[] args)
	{
		// Why do I have to do the following line of code? Should
not the config file be read automatically?
		log4net.Config.DOMConfigurator.Configure(new
FileInfo("conLog4NetSample.exe.config"));

		logInfo("Start of main");
	}
}

Matthew Griffore | Application Integration | Union Gas
Web Application Specialist / Integration Specialist
Union Gas ~ 800.571.8446:2682 ~ [email protected]
<mailto:[email protected]> 

------_=_NextPart_001_01C3EB6D.6E35FB60
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Dus-ascii">
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
5.5.2654.89">
<TITLE>Newbie help</TITLE>
</HEAD>
<BODY>

<P ALIGN=3DLEFT><FONT SIZE=3D2 FACE=3D"Courier New">I</FONT><FONT =
SIZE=3D2 FACE=3D"Courier New">'</FONT><FONT SIZE=3D2 FACE=3D"Courier =
New">ve had some limited success with Log4Net and I hope for someone to =
clear this up for me.</FONT></P>

<P ALIGN=3DLEFT><FONT SIZE=3D2 FACE=3D"Courier New">I am able to log =
to</FONT> <FONT SIZE=3D2 FACE=3D"Courier New">different</FONT><FONT =
SIZE=3D2 FACE=3D"Courier New"> appenders without any problem. =
However,</FONT> <FONT SIZE=3D2 FACE=3D"Courier New">from =
the</FONT><FONT SIZE=3D2 FACE=3D"Courier New"> sample code in the =
manual it states that the fastest way to</FONT> <FONT SIZE=3D2 =
FACE=3D"Courier New">determine</FONT><FONT SIZE=3D2 FACE=3D"Courier =
New"> if logging is enabled I should use a private static readonly =
member</FONT> <FONT SIZE=3D2 FACE=3D"Courier New">variable</FONT><FONT =
SIZE=3D2 FACE=3D"Courier New">.</FONT><FONT SIZE=3D2 FACE=3D"Courier =
New"> Not a problem right? Wrong. I can</FONT><FONT SIZE=3D2 =
FACE=3D"Courier New">'</FONT><FONT SIZE=3D2 FACE=3D"Courier New">t seem =
to read the log object</FONT><FONT SIZE=3D2 FACE=3D"Courier =
New">'</FONT><FONT SIZE=3D2 FACE=3D"Courier New">s</FONT> <FONT =
SIZE=3D2 FACE=3D"Courier New">Boolean</FONT><FONT SIZE=3D2 =
FACE=3D"Courier New"> values until I configure the logger.</FONT></P>

<P ALIGN=3DLEFT><FONT SIZE=3D2 FACE=3D"Courier New">Am I missing =
something? Any help would be greatly appreciated.</FONT> <FONT SIZE=3D2 =
FACE=3D"Courier New">Also, does anyone know if a WMI appender will ever =
be supported with log4net?</FONT> <FONT SIZE=3D2 FACE=3D"Courier =
New">Thanks.</FONT></P>

<P ALIGN=3DLEFT><FONT SIZE=3D2 FACE=3D"Courier New">Here is the code =
I</FONT><FONT SIZE=3D2 FACE=3D"Courier New">'</FONT><FONT SIZE=3D2 =
FACE=3D"Courier New">m working with:</FONT></P>

<P ALIGN=3DLEFT><B><FONT SIZE=3D2 FACE=3D"Courier New">CONFIG =
FILE:</FONT></B><B></B><B></B></P>

<P ALIGN=3DLEFT><FONT COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier =
New">&lt;?</FONT><FONT COLOR=3D"#800000" SIZE=3D2 FACE=3D"Courier =
New">xml</FONT><FONT COLOR=3D"#FF00FF" SIZE=3D2 FACE=3D"Courier =
New"></FONT> <FONT COLOR=3D"#FF0000" SIZE=3D2 FACE=3D"Courier =
New">version</FONT><FONT COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier =
New">=3D&quot;1.0&quot;</FONT><FONT COLOR=3D"#FF00FF" SIZE=3D2 =
FACE=3D"Courier New"></FONT> <FONT COLOR=3D"#FF0000" SIZE=3D2 =
FACE=3D"Courier New">encoding</FONT><FONT COLOR=3D"#0000FF" SIZE=3D2 =
FACE=3D"Courier New">=3D&quot;utf-8&quot;</FONT><FONT COLOR=3D"#FF00FF" =
SIZE=3D2 FACE=3D"Courier New"></FONT> <FONT COLOR=3D"#0000FF" SIZE=3D2 =
FACE=3D"Courier New">?&gt;</FONT></P>

<P ALIGN=3DLEFT><FONT COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier =
New">&lt;</FONT><FONT COLOR=3D"#800000" SIZE=3D2 FACE=3D"Courier =
New">configuration</FONT><FONT COLOR=3D"#0000FF" SIZE=3D2 =
FACE=3D"Courier New">&gt;</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT =
COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier New">&lt;</FONT><FONT =
COLOR=3D"#800000" SIZE=3D2 FACE=3D"Courier =
New">configSections</FONT><FONT COLOR=3D"#0000FF" SIZE=3D2 =
FACE=3D"Courier New">&gt;</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR=3D"#0000FF" =
SIZE=3D2 FACE=3D"Courier New">&lt;</FONT><FONT COLOR=3D"#800000" =
SIZE=3D2 FACE=3D"Courier New">section</FONT><FONT COLOR=3D"#FF00FF" =
SIZE=3D2 FACE=3D"Courier New"></FONT> <FONT COLOR=3D"#FF0000" SIZE=3D2 =
FACE=3D"Courier New">name</FONT><FONT COLOR=3D"#0000FF" SIZE=3D2 =
FACE=3D"Courier New">=3D&quot;log4net&quot;</FONT><FONT =
COLOR=3D"#FF00FF" SIZE=3D2 FACE=3D"Courier New"></FONT> <FONT =
COLOR=3D"#FF0000" SIZE=3D2 FACE=3D"Courier New">type</FONT><FONT =
COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier =
New">=3D&quot;log4net.Config.Log4NetConfigurationSectionHandler,log4net-=
net-1.0&quot;/&gt;</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT =
COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier New">&lt;/</FONT><FONT =
COLOR=3D"#800000" SIZE=3D2 FACE=3D"Courier =
New">configSections</FONT><FONT COLOR=3D"#0000FF" SIZE=3D2 =
FACE=3D"Courier New">&gt;</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT =
COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier New">&lt;</FONT><FONT =
COLOR=3D"#800000" SIZE=3D2 FACE=3D"Courier New">log4net</FONT><FONT =
COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier New">&gt;</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR=3D"#0000FF" =
SIZE=3D2 FACE=3D"Courier New">&lt;</FONT><FONT COLOR=3D"#800000" =
SIZE=3D2 FACE=3D"Courier New">logger</FONT><FONT COLOR=3D"#FF00FF" =
SIZE=3D2 FACE=3D"Courier New"></FONT> <FONT COLOR=3D"#FF0000" SIZE=3D2 =
FACE=3D"Courier New">name</FONT><FONT COLOR=3D"#0000FF" SIZE=3D2 =
FACE=3D"Courier New">=3D&quot;testApp.Logging&quot;&gt;</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR=3D"#0000FF" =
SIZE=3D2 FACE=3D"Courier New">&lt;</FONT><FONT COLOR=3D"#800000" =
SIZE=3D2 FACE=3D"Courier New">level</FONT><FONT COLOR=3D"#FF00FF" =
SIZE=3D2 FACE=3D"Courier New"></FONT> <FONT COLOR=3D"#FF0000" SIZE=3D2 =
FACE=3D"Courier New">value</FONT><FONT COLOR=3D"#0000FF" SIZE=3D2 =
FACE=3D"Courier New">=3D&quot;DEBUG&quot;/&gt;</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR=3D"#0000FF" =
SIZE=3D2 FACE=3D"Courier New">&lt;/</FONT><FONT COLOR=3D"#800000" =
SIZE=3D2 FACE=3D"Courier New">logger</FONT><FONT COLOR=3D"#0000FF" =
SIZE=3D2 FACE=3D"Courier New">&gt;</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR=3D"#0000FF" =
SIZE=3D2 FACE=3D"Courier New">&lt;</FONT><FONT COLOR=3D"#800000" =
SIZE=3D2 FACE=3D"Courier New">root</FONT><FONT COLOR=3D"#0000FF" =
SIZE=3D2 FACE=3D"Courier New">&gt;</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR=3D"#0000FF" =
SIZE=3D2 FACE=3D"Courier New">&lt;</FONT><FONT COLOR=3D"#800000" =
SIZE=3D2 FACE=3D"Courier New">level</FONT><FONT COLOR=3D"#FF00FF" =
SIZE=3D2 FACE=3D"Courier New"></FONT> <FONT COLOR=3D"#FF0000" SIZE=3D2 =
FACE=3D"Courier New">value</FONT><FONT COLOR=3D"#0000FF" SIZE=3D2 =
FACE=3D"Courier New">=3D&quot;WARN&quot;/&gt;</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR=3D"#0000FF" =
SIZE=3D2 FACE=3D"Courier New">&lt;</FONT><FONT COLOR=3D"#800000" =
SIZE=3D2 FACE=3D"Courier New">appender-ref</FONT><FONT =
COLOR=3D"#FF00FF" SIZE=3D2 FACE=3D"Courier New"></FONT> <FONT =
COLOR=3D"#FF0000" SIZE=3D2 FACE=3D"Courier New">ref</FONT><FONT =
COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier New">=3D&quot; =
EventLogAppender &quot;/&gt;</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR=3D"#0000FF" =
SIZE=3D2 FACE=3D"Courier New">&lt;/</FONT><FONT COLOR=3D"#800000" =
SIZE=3D2 FACE=3D"Courier New">root</FONT><FONT COLOR=3D"#0000FF" =
SIZE=3D2 FACE=3D"Courier New">&gt;</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR=3D"#0000FF" =
SIZE=3D2 FACE=3D"Courier New">&lt;</FONT><FONT COLOR=3D"#800000" =
SIZE=3D2 FACE=3D"Courier New">appender</FONT><FONT COLOR=3D"#FF00FF" =
SIZE=3D2 FACE=3D"Courier New"></FONT> <FONT COLOR=3D"#FF0000" SIZE=3D2 =
FACE=3D"Courier New">name</FONT><FONT COLOR=3D"#0000FF" SIZE=3D2 =
FACE=3D"Courier New">=3D&quot;EventLogAppender&quot;</FONT><FONT =
COLOR=3D"#FF00FF" SIZE=3D2 FACE=3D"Courier New"></FONT> <FONT =
COLOR=3D"#FF0000" SIZE=3D2 FACE=3D"Courier New">type</FONT><FONT =
COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier =
New">=3D&quot;log4net.Appender.EventLogAppender&quot;</FONT><FONT =
COLOR=3D"#FF00FF" SIZE=3D2 FACE=3D"Courier New"></FONT> <FONT =
COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier New">&gt;</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR=3D"#0000FF" =
SIZE=3D2 FACE=3D"Courier New">&lt;</FONT><FONT COLOR=3D"#800000" =
SIZE=3D2 FACE=3D"Courier New">param</FONT><FONT COLOR=3D"#FF00FF" =
SIZE=3D2 FACE=3D"Courier New"></FONT> <FONT COLOR=3D"#FF0000" SIZE=3D2 =
FACE=3D"Courier New">name</FONT><FONT COLOR=3D"#0000FF" SIZE=3D2 =
FACE=3D"Courier New">=3D&quot;Threshold&quot;</FONT><FONT =
COLOR=3D"#FF00FF" SIZE=3D2 FACE=3D"Courier New"></FONT> <FONT =
COLOR=3D"#FF0000" SIZE=3D2 FACE=3D"Courier New">value</FONT><FONT =
COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier =
New">=3D&quot;ERROR&quot;/&gt;</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR=3D"#0000FF" =
SIZE=3D2 FACE=3D"Courier New">&lt;</FONT><FONT COLOR=3D"#800000" =
SIZE=3D2 FACE=3D"Courier New">param</FONT><FONT COLOR=3D"#FF00FF" =
SIZE=3D2 FACE=3D"Courier New"></FONT> <FONT COLOR=3D"#FF0000" SIZE=3D2 =
FACE=3D"Courier New">name</FONT><FONT COLOR=3D"#0000FF" SIZE=3D2 =
FACE=3D"Courier New">=3D&quot;ApplicationName&quot;</FONT><FONT =
COLOR=3D"#FF00FF" SIZE=3D2 FACE=3D"Courier New"></FONT> <FONT =
COLOR=3D"#FF0000" SIZE=3D2 FACE=3D"Courier New">value</FONT><FONT =
COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier =
New">=3D&quot;Log4NetSample&quot;/&gt;</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR=3D"#0000FF" =
SIZE=3D2 FACE=3D"Courier New">&lt;</FONT><FONT COLOR=3D"#800000" =
SIZE=3D2 FACE=3D"Courier New">layout</FONT><FONT COLOR=3D"#FF00FF" =
SIZE=3D2 FACE=3D"Courier New"></FONT> <FONT COLOR=3D"#FF0000" SIZE=3D2 =
FACE=3D"Courier New">type</FONT><FONT COLOR=3D"#0000FF" SIZE=3D2 =
FACE=3D"Courier =
New">=3D&quot;log4net.Layout.PatternLayout&quot;&gt;</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR=3D"#0000FF" =
SIZE=3D2 FACE=3D"Courier New">&lt;</FONT><FONT COLOR=3D"#800000" =
SIZE=3D2 FACE=3D"Courier New">param</FONT><FONT COLOR=3D"#FF00FF" =
SIZE=3D2 FACE=3D"Courier New"></FONT> <FONT COLOR=3D"#FF0000" SIZE=3D2 =
FACE=3D"Courier New">name</FONT><FONT COLOR=3D"#0000FF" SIZE=3D2 =
FACE=3D"Courier New">=3D&quot;ConversionPattern&quot;</FONT><FONT =
COLOR=3D"#FF00FF" SIZE=3D2 FACE=3D"Courier New"></FONT> <FONT =
COLOR=3D"#FF0000" SIZE=3D2 FACE=3D"Courier New">value</FONT><FONT =
COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier New">=3D&quot;%d [%t] %-5p =
%c [%x] - %m%n&quot;/&gt;</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR=3D"#0000FF" =
SIZE=3D2 FACE=3D"Courier New">&lt;/</FONT><FONT COLOR=3D"#800000" =
SIZE=3D2 FACE=3D"Courier New">layout</FONT><FONT COLOR=3D"#0000FF" =
SIZE=3D2 FACE=3D"Courier New">&gt;</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR=3D"#0000FF" =
SIZE=3D2 FACE=3D"Courier New">&lt;/</FONT><FONT COLOR=3D"#800000" =
SIZE=3D2 FACE=3D"Courier New">appender</FONT><FONT COLOR=3D"#0000FF" =
SIZE=3D2 FACE=3D"Courier New">&gt;</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT =
COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier New">&lt;/</FONT><FONT =
COLOR=3D"#800000" SIZE=3D2 FACE=3D"Courier New">log4net</FONT><FONT =
COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier New">&gt;</FONT></P>

<P ALIGN=3DLEFT><FONT COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier =
New">&lt;/</FONT><FONT COLOR=3D"#800000" SIZE=3D2 FACE=3D"Courier =
New">configuration</FONT><FONT COLOR=3D"#0000FF" SIZE=3D2 =
FACE=3D"Courier New">&gt;</FONT></P>

<P ALIGN=3DLEFT><B><FONT SIZE=3D2 FACE=3D"Courier New">C# =
CODE:</FONT></B></P>

<P ALIGN=3DLEFT><FONT COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier =
New">using</FONT><FONT SIZE=3D2 FACE=3D"Courier New"> =
System;</FONT></P>

<P ALIGN=3DLEFT><FONT COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier =
New">using</FONT><FONT SIZE=3D2 FACE=3D"Courier New"> =
System.IO;</FONT></P>

<P ALIGN=3DLEFT><FONT COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier =
New">using</FONT><FONT SIZE=3D2 FACE=3D"Courier New"> =
log4net;</FONT></P>

<P ALIGN=3DLEFT><FONT COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier =
New">public</FONT><FONT SIZE=3D2 FACE=3D"Courier New"></FONT> <FONT =
COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier New">class</FONT><FONT =
SIZE=3D2 FACE=3D"Courier New"> driver</FONT></P>

<P ALIGN=3DLEFT><FONT SIZE=3D2 FACE=3D"Courier New">{</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT =
SIZE=3D2 FACE=3D"Courier New">// Is this how I should be initializing =
the log object? With the name of my logger?</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT =
COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier New">private</FONT><FONT =
SIZE=3D2 FACE=3D"Courier New"></FONT> <FONT COLOR=3D"#0000FF" SIZE=3D2 =
FACE=3D"Courier New">static</FONT><FONT SIZE=3D2 FACE=3D"Courier =
New"></FONT> <FONT COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier =
New">readonly</FONT><FONT SIZE=3D2 FACE=3D"Courier New"> ILog log =3D =
LogManager.GetLogger(&quot;testApp.Logging&quot;);</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT =
SIZE=3D2 FACE=3D"Courier New">//</FONT> <FONT SIZE=3D2 FACE=3D"Courier =
New">These</FONT> <FONT SIZE=3D2 FACE=3D"Courier =
New">Boolean</FONT><FONT SIZE=3D2 FACE=3D"Courier New"> values are not =
available until I read the config file???</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT =
COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier New">private</FONT><FONT =
SIZE=3D2 FACE=3D"Courier New"></FONT> <FONT COLOR=3D"#0000FF" SIZE=3D2 =
FACE=3D"Courier New">static</FONT><FONT SIZE=3D2 FACE=3D"Courier =
New"></FONT> <FONT COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier =
New">readonly</FONT><FONT SIZE=3D2 FACE=3D"Courier New"> bool =
isDebugEnabled =3D log.IsDebugEnabled;</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT =
COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier New">private</FONT><FONT =
SIZE=3D2 FACE=3D"Courier New"></FONT> <FONT COLOR=3D"#0000FF" SIZE=3D2 =
FACE=3D"Courier New">static</FONT><FONT SIZE=3D2 FACE=3D"Courier =
New"></FONT> <FONT COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier =
New">readonly</FONT><FONT SIZE=3D2 FACE=3D"Courier New"></FONT> <FONT =
SIZE=3D2 FACE=3D"Courier New">bool isErrorEnabled =3D =
log.IsErrorEnabled;</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT =
COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier New">private</FONT><FONT =
SIZE=3D2 FACE=3D"Courier New"></FONT> <FONT COLOR=3D"#0000FF" SIZE=3D2 =
FACE=3D"Courier New">static</FONT><FONT SIZE=3D2 FACE=3D"Courier =
New"></FONT> <FONT COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier =
New">readonly</FONT><FONT SIZE=3D2 FACE=3D"Courier New"> bool =
isFatalEnabled =3D log.IsFatalEnabled;</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT =
COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier New">private</FONT><FONT =
SIZE=3D2 FACE=3D"Courier New"></FONT> <FONT COLOR=3D"#0000FF" SIZE=3D2 =
FACE=3D"Courier New">static</FONT><FONT SIZE=3D2 FACE=3D"Courier =
New"></FONT> <FONT COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier =
New">readonly</FONT><FONT SIZE=3D2 FACE=3D"Courier New"> bool =
isInfoEnabled =3D log.IsInfoEnabled;</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT =
COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier New">private</FONT><FONT =
SIZE=3D2 FACE=3D"Courier New"></FONT> <FONT COLOR=3D"#0000FF" SIZE=3D2 =
FACE=3D"Courier New">static</FONT><FONT SIZE=3D2 FACE=3D"Courier =
New"></FONT> <FONT COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier =
New">readonly</FONT><FONT SIZE=3D2 FACE=3D"Courier New"> bool =
isIsWarnEnabled =3D log.IsWarnEnabled;</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT =
COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier New">static</FONT><FONT =
SIZE=3D2 FACE=3D"Courier New"></FONT> <FONT COLOR=3D"#0000FF" SIZE=3D2 =
FACE=3D"Courier New">void</FONT><FONT SIZE=3D2 FACE=3D"Courier New"> =
Main(</FONT><FONT COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier =
New">string</FONT><FONT SIZE=3D2 FACE=3D"Courier New">[] =
args)</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT =
SIZE=3D2 FACE=3D"Courier New">{</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=3D2 =
FACE=3D"Courier New">// Why do I have to do the following line of code? =
Should not the config file be read automatically?</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=3D2 =
FACE=3D"Courier New">log4net.Config.DOMConfigurator.Configure(</FONT><FO=
NT COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Courier New">new</FONT><FONT =
SIZE=3D2 FACE=3D"Courier New"> =
FileInfo(&quot;conLog4NetSample.exe.config&quot;));</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=3D2 =
FACE=3D"Courier New">logInfo(&quot;Start of main&quot;);</FONT></P>

<P ALIGN=3DLEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT =
SIZE=3D2 FACE=3D"Courier New">}</FONT></P>

<P ALIGN=3DLEFT><FONT SIZE=3D2 FACE=3D"Courier New">}</FONT></P>

<P ALIGN=3DLEFT><B><I></I></B><A NAME=3D"_MailAutoSig"><B><I><FONT =
COLOR=3D"#0000FF" SIZE=3D2 FACE=3D"Arial">Matthew Griffore | =
Application Integration | Union Gas</FONT></I></B></A></P>

<P ALIGN=3DLEFT><B><FONT COLOR=3D"#FF0000" SIZE=3D2 FACE=3D"Arial">Web =
Application Specialist / Integration Specialist</FONT></B><BR>
<B></B><B><FONT COLOR=3D"#999999" SIZE=3D2 FACE=3D"Arial">Union Gas ~ =
800.571.8446:2682 ~</FONT></B> <A =
HREF=3D"mailto:[email protected]"><B></B><B><U><FONT =
COLOR=3D"#999999" SIZE=3D2 =
FACE=3D"Arial">[email protected]</FONT></U></B></A><B></B><B></B></=
P>

</BODY>
</HTML>
------_=_NextPart_001_01C3EB6D.6E35FB60--


-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn