The ${foo} notation searches the environment for a key and uses its
value. I wonder if it would be useful to introduce the idea of a local
environment that would allow locally scoped temporary environment
variables:

 <log4net>
  <localEnvironment name="LOG4NET_PATH" value="c:\logs\staging" />
  <localEnvironment name="DEFAULT_LAYOUT" value="%message%newline" />
  <appender name="FileAppender" type="log4net.Appender.FileAppender">
   <file value="${LOG4NET_PATH}\log.txt" />
   <layout
    type="log4net.Layout.PatternLayout"
    value="${DEFAULT_LAYOUT}" />
  </appender>

If the item was not found in the local environment, System.Environment
would be searched.

Comments?

- Ron

Reply via email to