Преобразование ручных преобразований в стандартные xdt

Итак, я хочу преобразовать приложение .Net из использования какого-либо предыдущего метода ручного преобразования в стиль xdt, на который ссылается Трой Хант http://www.troyhunt.com/2010/11/you-deploying-it-wrong-teamcity.html. В настоящее время я не слишком хорошо знаком с преобразованиями, и я думаю, что мне может просто понадобиться толчок в правильном направлении.

Как я могу преобразовать следующее, чтобы изменить путь к файлу c:\logs\blah.log в веб-конфигурации?

<log4net>
    <appender name="Asplogger" type="log4net.Appender.TraceAppender">
      <layout type="log4net.Layout.SimpleLayout" />
    </appender>
    <appender name="RollingAppender" type="log4net.Appender.RollingFileAppender">
      <file value="c:\logs\blah.log" />
      <appendToFile value="true" />
      <maximumFileSize value="1000KB" />
      <rollingStyle value="Size" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
      </layout>
    </appender>
    <appender name="NHibernate.SQL" type="log4net.Appender.TraceAppender">
      <layout type="log4net.Layout.SimpleLayout" />
    </appender>
    <logger name="NHibernate">
      <!--Namespace-->
      <level value="ERROR" />
      <!--level of errors to report INFO, ERROR, FATAL-->
    </logger>
    <logger name="NHibernate.SQL">
      <level value="ERROR" />
      <appender-ref ref="NHibernate.SQL" />
    </logger>
    <root>
      <level value="DEBUG" />
      <appender-ref ref="RollingAppender" />
      <appender-ref ref="Asplogger" />
    </root>
  </log4net>

Было бы что-то вроде этого?

<log4net>
    <appender name="RollingAppender">
      <add xdt:Transform="Replace" xdt:Locator="Match(key)"
        key="file value" value="path.that.I.want"/>
    </appender>      
   </log4net>

person cmluciano    schedule 07.11.2013    source источник


Ответы (1)


Я понял. Вам нужно сопоставить имя вместо ключа

<log4net>
    <appender name="RollingAppender" xdt:Locator="Match(name)">
      <file xdt:Transform="SetAttributes" 
            value="path.that.I.want.log"/>
    </appender>
  </log4net>
person cmluciano    schedule 07.11.2013