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.





 EMAILING FOR THE GREATER GOOD
Join me

Subject: RE: relative path for config file
Date: Thu, 6 Aug 2009 08:14:47 +0200
From: [email protected]
To: [email protected]










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



Od: Christian Chenier 
[mailto:[email protected]] 
Odesláno: 5. srpna 2009 
18:16
Komu: [email protected]
Předmět: 
relative path for config file




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
 

Reply via email to