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  

Reply via email to