log4Net配置转换 [英] log4Net config transform

查看:61
本文介绍了log4Net配置转换的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我能够转换我的log4net.config,但我没有得到这个.如何更改以下connectionString?

I am able to transform my log4net.config but I am not getting this one. How do I change the following connectionString?

<?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***" />

以下内容无效:

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

它将更改调试值,因此它可以部分起作用.感谢您的帮助.

It changes the debug value so it partially works. Thank for the help.

杰克

推荐答案

确定,可以使用:appender name="AdoNetAppender"中的xdt:Locator="Match(name)",然后在connectionString value="NewConnValues"中的xdt:Transform="Replace".

Ok, got it working with: xdt:Locator="Match(name)" in appender name="AdoNetAppender" and then 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>

这篇关于log4Net配置转换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆