I think I figured it out. I think there were 2 versions of the log4net DLL. One in the GAC, and one in the same directory as the exe. The exe was using one version while everything else was using another. I removed the dll from the GAC made some changes and so far it seems to be working. Thanks to those who responded.
Brian Sanders _____ From: Dean Fiala [mailto:[EMAIL PROTECTED] Sent: Friday, December 15, 2006 10:18 PM To: [email protected] Subject: re: Log4net not working as expected 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] t> 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
