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
