You are correct, there is no need to set the attribute in each assembly. The top level assembly handles the configuration -- everyone else goes along for the ride. We have a number of library assemblies that get used in different applications (web app, web service, service), so we didn't want to hard code any configuration information at the library level. Fortunately, there is no need to. A reference to log4net and a call to LogManager.GetLogger() in the library classes is all that is needed.
Regards, Dean Fiala ---------------------------------------- Return-Path: <[EMAIL PROTECTED]> Tue Oct 23 16:28:52 2007 Received: from hermes.apache.org [140.211.11.2] by mail.celadonlabs.com with SMTP; Tue, 23 Oct 2007 16:28:52 -0700 Received: (qmail 13007 invoked by uid 500); 23 Oct 2007 23:28:36 -0000 Received: (qmail 12989 invoked by uid 99); 23 Oct 2007 23:28:36 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 23 Oct 2007 16:28:36 -0700 Received: from [216.150.133.132] (HELO ex2.techsoftwareinc.com) (216.150.133.132) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 23 Oct 2007 23:28:27 +0000 Mailing-List: contact [EMAIL PROTECTED]; run by ezmlm Precedence: bulk list-help: <mailto:[EMAIL PROTECTED]> list-unsubscribe: <mailto:[EMAIL PROTECTED]> List-Post: <mailto:log4net-user@logging.apache.org> Reply-To: "Log4NET User" <log4net-user@logging.apache.org> List-Id: <log4net-user.logging.apache.org> Delivered-To: mailing list log4net-user@logging.apache.org X-ASF-Spam-Status: No, hits=2.0 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of [EMAIL PROTECTED] designates 216.150.133.132 as permitted sender) Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C815CC.5C0026CC" Subject: RE: Config log4net in n-tiear application Framework 2.0! X-MimeOLE: Produced By Microsoft Exchange V6.5 Date: Tue, 23 Oct 2007 19:28:03 -0400 Message-ID: <[EMAIL PROTECTED]> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Config log4net in n-tiear application Framework 2.0! Thread-Index: AcgVuTHX95aG9+DDSR6aalJVu5TSTwAAEyHAAASeE6A= References: <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> From: "Walden H. Leverich" <[EMAIL PROTECTED]> To: "Log4NET User" <log4net-user@logging.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org X-SmarterMail-Spam: SPF_Pass X-Rcpt-To: <[EMAIL PROTECTED]> > For each project, reference the log4net dll and put the following line in the assemblyInfo file: I agree with referencing the log4net.dll, but I don't think you need to put the [assembly.] attribute in. At least not if the top-level application (asp.net) does the configure through code. We don't use the attribute at all and we get logging from all our levels. Our ASP.Net code does though do this in global.sasx: protected void Application_Start(object sender, EventArgs e) { string configFile = Server.MapPath(ConfigurationManager.AppSettings["log4net-config-file"]); log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(configFile)); log = log4net.LogManager.GetLogger( System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); log.InfoFormat("Watching '{0}'", configFile); } -Walden -- Walden H Leverich III Tech Software (516) 627-3800 x3051 [EMAIL PROTECTED] http://www.TechSoftInc.com Quiquid latine dictum sit altum viditur. (Whatever is said in Latin seems profound.) From: Dave McEwan [mailto:[EMAIL PROTECTED] Sent: Tuesday, October 23, 2007 5:18 PM To: Log4NET User Subject: RE: Config log4net in n-tiear application Framework 2.0! For each project, reference the log4net dll and put the following line in the assemblyInfo file: [assembly: log4net.Config.XmlConfigurator( ConfigFile="log4net.config",Watch=true )] Now at the class level for each class add the following line to create an instance of the logger: private static readonly ILog log = LogManager.GetLogger( MethodBase.GetCurrentMethod().DeclaringType); Now you can make calls like so from your methods: log.Error(ex.Message.ToString(), ex); Hope that helps Dave ---------------------------------------- From: Erlis Vidal [mailto:[EMAIL PROTECTED] Sent: Tuesday, October 23, 2007 5:11 PM To: log4net-user@logging.apache.org Subject: Config log4net in n-tiear application Framework 2.0! Hi everyone! I want to configure log4net in order to use the same configuration file (with the watch option active) in my n-tier application! I have the following structure in my solution: Website (as a web application project) Business (as a class library project) Data (as a class library project) Test (as a class library project) I want to be able to log messages in any of those layers using the same log4net configuration file... Can you provide any suggestion for the right configuration? Regards, Erlis