transformation de configuration log4Net

Je suis capable de transformer mon log4net.config mais je ne reçois pas celui-ci. Comment puis-je changer la chaîne de connexion suivante?

<?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <log4net debug="true">
        <root>
          <level value="ALL" />
        </root> 
        <logger name="MyApp">
          <level value="Debug" />
           <appender-ref ref="RollingLogFileAppender" />
           <appender-ref ref="AdoNetAppender" />
        </logger>
        <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
                <file value="C:WebsitesLogsSiteLog.txt"/>
                <appendToFile value="true"/>
                <rollingStyle value="Date"/>
                <datePattern value="yyyyMMdd.txt"/>
                <layout type="log4net.Layout.PatternLayout">
                    <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/>
                </layout>
            </appender>
        <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
          <bufferSize value="1" />
          <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
          <connectionString value="***Data Source=(local);initial catalog=MyDB;User ID=sa;Password=dbPassword***" />

Ce qui suit ne fonctionne pas:

<?xml version="1.0" encoding="utf-8" ?>

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <log4net debug="false" 
           xdt:Transform="SetAttributes(debug)" />
  <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
    <connectionString value="Data Source=(local);initial catalog=RavenAxiom;User ID=ravenaxiom;Password=xyz" 
            xdt:Transform="SetAttributes(value)" />
  </appender>
</configuration>

Il change la valeur de débogage pour qu'elle fonctionne partiellement. Merci pour l'aide.

Jack

21
demandé sur SteveC 2011-10-08 03:44:07

1 réponses

Ok, obtenu en collaboration avec: xdt:Locator="Match(name)" dans appender name="AdoNetAppender", puis xdt:Transform="Replace" dans connectionString value="NewConnValues".

<configuration>
  <log4net>
    <appender name="AdoNetAppender" 
              type="log4net.Appender.AdoNetAppender" 
              xdt:Locator="Match(name)">
      <connectionString value="YourConnectionStringToBe"  
                        xdt:Transform="Replace"/>
    </appender>
  </log4net>
</configuration>
43
répondu Jack Smit 2017-06-26 11:35:20