Just a thought, since you are declaring the log member in the dll class as
static, it might be getting instantiated before the configuration has run. Why
not either make it property
protected static log4net.ILog log
{
return log4net.LogManager.GetLogger("EngineTasksFactory");
}
or just declare it locally in the method.
I have applications that have multiple assemblies all working as you would
expect.
----------------------------------------
Return-Path: <[EMAIL PROTECTED]> Fri Dec 15 14:43:13 2006
Received: from hermes.apache.org [140.211.11.2] by mail.celadonlabs.com with
SMTP;
Fri, 15 Dec 2006 14:43:13 -0700
Received: (qmail 3993 invoked by uid 500); 15 Dec 2006 21:43:09 -0000
Received: (qmail 3982 invoked by uid 99); 15 Dec 2006 21:43:09 -0000
Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133)
by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 15 Dec 2006 13:43:09 -0800
Received: from [70.158.47.212] (HELO email3.econnextions.com) (70.158.47.212)
by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 15 Dec 2006 13:42:58 -0800
Received: from [10.10.212.12] (HELO exchange2.corporate.connextions.net)
by email3.econnextions.com (CommuniGate Pro SMTP 4.1.8)
with ESMTP id 3362767 for [email protected]; Fri, 15 Dec 2006
16:42:34 -0500
Received: by exchange2.corporate.connextions.net with Internet Mail Service
(5.5.2658.3)
id <Y2AK6CH1>; Fri, 15 Dec 2006 16:41:04 -0500
Mailing-List: contact [EMAIL PROTECTED]; run by ezmlm
Precedence: bulk
list-help: <mailto:[EMAIL PROTECTED]>
list-unsubscribe: <mailto:[EMAIL PROTECTED]>
List-Post: <mailto:[email protected]>
Reply-To: "Log4NET User" <[email protected]>
List-Id: <log4net-user.logging.apache.org>
Delivered-To: mailing list [email protected]
X-ASF-Spam-Status: No, hits=2.8 required=10.0
tests=HTML_MESSAGE,INFO_TLD
X-Spam-Check-By: apache.org
Received-SPF: pass (herse.apache.org: local policy)
Message-ID: <[EMAIL PROTECTED]>
From: "Sanders, Brian" <[EMAIL PROTECTED]>
To: [email protected]
Subject: Log4net not working as expected
Date: Fri, 15 Dec 2006 16:41:04 -0500
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.5.2658.3)
Content-Type: multipart/alternative;
boundary="----_=_NextPart_001_01C72091.B8865A13"
X-Virus-Checked: Checked by ClamAV on apache.org
X-SmarterMail-Spam: SPF_Pass
X-Rcpt-To: <[EMAIL PROTECTED]>
Hello, I have an issue with log4net that I was sure was not an issue
before. I have a project which is made up of a few other projects. There's an
exe and 4 other dlls. Logging from the exe works while logging from the dlls
does not. Like I say, I know this has worked before. I've read thru the
documentation and everything looks identical. Does anyone see what I might be
doing wrong here or know what the cause may be? Thanks. Log4net: 1.2.10.0
Cnxengine.exe: Runs as either a service, or a stand-alone exe, depending on
configuration. Platform: MS.Net Cnxengine.exe.Config: . <log4net>
<appender name="RollingFile"
type="log4net.Appender.RollingFileAppender"> <file
value="c:\\CNXHeavy\\Logs\\CNXEngine.log" />
<appendToFile value="true" /> <rollingStyle
value="Date" /> <datePattern value="yyyyMMdd" />
<staticLogFileName value="true" />
<maxSizeRollBackups value="14" />
<!--<maximumFileSize value="1GB" />--> <layout
type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %level %logger[%method:%line] -
%message%newline" /> </layout>
</appender> <root> <level value="DEBUG"
/> <appender-ref ref="RollingFile" />
</root> </log4net> . CNXENgine.cs: public class
CNXEngine : System.ServiceProcess.ServiceBase { protected log4net.ILog log =
log4net.LogManager.GetLogger("CNXEngine"); . public CNXEngine() {
// This call is required by the Windows.Forms Component Designer.
InitializeComponent();
//Initialize the threadlist ThreadList = new ArrayList();
//Get the tasks to run log.Debug("GetTasksToRun"); <- Works
TasksToRun = EngineTasksFactory.GetTasksToRun(); log.Debug("Finished
GetTasksToRun"); <- Works } public static void Main() {
log4net.Config.XmlConfigurator.Configure(); . if
(Convert.ToBoolean(ConfigurationSettings.AppSettings["RunAsService"])) {
. } Else { . } } EngineTasksFactory.cs: public class
EngineTasksFactory { protected static log4net.ILog log =
log4net.LogManager.GetLogger("EngineTasksFactory"); . public
static EngineTaskList GetTasksToRun() { log.Info("Creating
EngineTaskList"); <- Does not work EngineTaskList tasks = new
EngineTaskList();
tasks.Add(new OrderRoutingTask()); log.Debug("Created EngineTaskList");
return tasks; } Brian Sanders