2011-10-07 12 views
18

Sono in grado di trasformare il mio log4net.config ma non sto ottenendo questo. Come posso cambiare la seguente connectionString?log4Net config transform

<?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:\Websites\Logs\SiteLog.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***" /> 

Quanto segue non funziona:

<?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> 

cambia il valore di debug in modo che funziona parzialmente. Grazie per l'aiuto.

Jack

+0

Ok, capito lavorando con: xdt: Locator = "Match (nome) nel appender name =" AdoNetAppender" e poi xdt: Transform = "Sostituisci" in ConnectionString value = "NewConnVlaues" –

risposta

36

Ok, ottenuto lavorando con: xdt:Locator="Match(name)" in appender name="AdoNetAppender" e poi xdt:Transform="Replace" in 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> 
+0

nice one, grazie tu –

+0

sei un vero toccasana, bello –