Thursday, March 11, 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: relative path for config file
Prev Next
You are not authorized to post a reply.

Author Messages
Christian Chenier

08/05/2009 6:15 PM  

Hi,

I use log4net in a C# web application and am having problems configuring it to use a relative path to point to the location of a configuration file external to web.config.

 

In web.config, if I use

      <add key="log4net.Config.File" value="C:\somePath\log4net.config" />

all works fine. However, I would like to avoid having to hard-code the physical path and would like to specify something like

      <add key="log4net.Config.File" value="configs\log4net.config" />

where the configs directory is located in the same directory as web.config (the AppDomain.CurrentDomain.BaseDirectory). However this does not work (I no longer get anything output to my log file when I make that change).

 

I understand that one can programmatically construct a full path from the base directory, but there is surely a way to specify a relative path directly in the web.config file? I have tried modifying the string using leading slash (and backslash), etc. to no avail, and could not find a solution anywhere. Does anyone know how to do this?

 

(As an aside, using a relative path to specify the output file name within the <appender> works fine, relative to the base directory.)

 

Thanks,

 

Chris Chenier

 

Radovan Raszka

08/06/2009 8:14 AM  
Hi,
you can try this:
<add key="log4net.Config.File" value="~\configs\log4net.config" />
but I'm not sure if this works. What you are using external config file? log4net config can be written directly in web.config.
RR

 

Karim Bourouba

08/06/2009 9:03 AM  

Hi There,

 

I understand you desire to have a central directory for log files - but surely if they are all going to live in the \Configs dir, then this directory will always be in the same place on each machine?

 

Other than that, I think unless you want to have a seperate utility to manage your logfiles for you, then you will probably need to set the path in the code :(

 

Raszka - sometimes it is very useful to hold some configuration in an external xml file. 

 

Michael Schall

08/06/2009 4:24 PM  

We configure our logging in code using an external xml file using
log4net.Config.XmlConfigurator.ConfigureAndWatch.

This way  I can change my logging settings without resetting my website.

Mike

thierry lach

08/06/2009 5:30 PM  
One good reason for using an external file would be that the file can be changed without restarting the web application, which would happen when updating web.config.



 

Ross Hinkley

08/06/2009 5:39 PM  
Christian,

Out of curiosity, how and where are you setting the configuration file path?

-Ross
Christian Chenier

08/07/2009 3:12 PM  

I tried using

<add key="log4net.Config.File" value="~\configs\log4net.config" />

but unfortunately this does not work.

 

I am setting the configuration file path in web.config under <configuration><appSettings>

 

As stated, this works fine if I specify a full path for the configuration file, but I have not yet found any working syntax to specify a relative path.

 

Thanks to those who have provided feedback.

 

Chris Chenier

Service de l'informatique et des communications | Computing and Communications Services
613-562-5800 x1675
cchenier@uottawa.ca

 
Ross Hinkley

08/07/2009 3:57 PM  
Christian,

I'm pretty certain you can specify log4net configurations per assembly using something like the following in your AssemblyInfo.cs:

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "ConfigFile.config", Watch = true)]

I don't know if that helps you.

I guess I'm not seeing how your config setting is mapping to the configuration path.  I feel like I'm still missing a piece of the puzzle.

-Ross
You are not authorized to post a reply.
Forums > Log4Net > Log4Net Mail archive > relative path for config file



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