2011-10-07 30 views
18

Tôi có thể chuyển đổi log4net.config nhưng tôi không nhận được cái này. Làm cách nào để thay đổi connectionString sau?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***" /> 

Sau đây không hoạt động:

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

Nó thay đổi giá trị debug vì thế một phần hoạt động. Cảm ơn sự giúp đỡ.

Jack

+0

Ok, đã nhận nó làm việc với: xdt: Locator = "trận đấu (tên) trong appender name =" AdoNetAppender" và sau đó xdt: Biến đổi = "Thay thế" trong connectionString value = "NewConnVlaues" –

Trả lời

36

Ok, đã nhận nó làm việc với: xdt:Locator="Match(name)" trong appender name="AdoNetAppender" và sau đó xdt:Transform="Replace" trong 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

một tốt đẹp, cảm ơn bạn –

+0

bạn là một phao cứu sinh, người đẹp –