Friday, September 10, 2010
 
The best way to analyze your logs! Minimize
 Log4Net Mail archive   

The Log4Net mailing list is a great source of information about using log4Net, in this forum we collect all the messages in the log4net user list and some selected threads from the developer list.

Subject: Config log4net in n-tiear application Framework 2.0!
Prev Next
You are not authorized to post a reply.

Author Messages
Erlis Vidal

10/23/2007 11:10 PM  

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

Dave McEwan

10/23/2007 11:17 PM  

 

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

 

Walden H. Leverich

10/24/2007 1:28 AM  

> 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

WaldenL@TechSoftInc.com
http://www.TechSoftInc.com

Quiquid latine dictum sit altum viditur.
(Whatever is said in Latin seems profound.)

Dean Fiala

10/24/2007 2:30 AM  
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

li nan

10/25/2007 4:46 AM  

You can create a common layer dll to be referenced by other all dll
files. Then in this common file, there is a public class:

public class Log{
  private log=ILog.Logger...........//Log4Net interface.

  //open the log interface from here
  public void DEBUG(string strlog)
  {
       log.Debug(strlog);
  }

  public void FATEL(string strlog)
  {
       log.Fater(strlog);
  }
  public void ERROR(string strlog)
  {
       log.Error(strlog);
  }
  ....... //Other interfaces..
}

You are not authorized to post a reply.
Forums > Log4Net > Log4Net Mail archive > Config log4net in n-tiear application Framework 2.0!



ActiveForums 3.7

 

 

 

 

 

 

 

 

Log4Net Dashboard

Log analysis and monitoring made easy!

Log4Net Dashboard is a log viewer that can read log statements from a variety of logging output targets.

You can download a free developer version.

  

Check it out!

On the demonstration site you can try it  with live data.demo.l4ndash.com - Try Log4Net Dashboard with live data

The mail archive is a copy of all the mail sent to the mail address: log4net-user@logging.apache.org, organized as a forum.

If you would like to participate in the mail list, send a mail to log4net-user-subscribe@logging.apache.org.

More information about the mailing list is available on: http://logging.apache.org/log4net/support.html

 

A complete topic list is available and can be viewed here (warning, it takes some time to load)

 

Copyright 2005-2008 by FaktNet AS Terms Of Use Privacy Statement