configurationwindows-serviceslog4netconfig-transformation

log4net configuration transformation for different build configurations


I am using Configuration Transform extension for use of different settings in Debug and Release build configurations of my Windows Service application. Here is my Release:

<root>
  <level value="ALL" />
  <appender-ref ref="DebugAppender"/>
  <appender-ref ref="SmtpAppender"/>
</root>

Here is my Debug, where I dont want to have SMTP appender, but it does not work (logged events are still send by SMTP):

<root>
  <level value="ALL" />
  <appender-ref ref="DebugAppender"/>
  <appender-ref ref="SmtpAppender" xdt:Transform="Remove"/>
</root>

Solution

  • Solution is simplier than I thought:

    <root>
      <level value="ALL" />
      <appender-ref ref="DebugAppender" />
      <appender-ref ref="SmtpAppender" xdt:Locator="Match(ref)" xdt:Transform="Remove"/>
    </root>