使用Octopus Deploy转换log4net Appender连接字符串

时间:2014-03-05 10:23:52

标签: asp.net log4net octopus-deploy

我在我的web.config文件中配置了许多已命名的appender,我想知道是否可以将这些作为标准部署的一部分进行正常变量转换?

我希望能够改变的是connectionString

的值

XML看起来像这样:

<appender name="AdoNetAppender_DNOA" 
       type="log4net.Appender.AdoNetAppender">
      <immediateFlush value="true" />
      <connectionType value="System.Data.SqlClient.SqlConnection, 
           System.Data, Version=1.0.3300.0, 
           Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      <connectionString 
            value="data source=MyServer;initial catalog=DNOALog_Dev;
            integrated security=false;persist security info=True;
         User ID=UserId;Password=pwd" />

2 个答案:

答案 0 :(得分:3)

查看Octopus Deploy documentation,可能不是。

但是,从1.2.11开始,log4net能够从web.config文件的connectionStrings部分按名称引用ConnectionString:

<connectionStringName value="ConnStringName" />

然后,您可以将您的log4net连接字符串保存在connectionStrings部分中,在日志配置中按名称引用它,并使用Octopus转换连接字符串,如文档中那样。

(请注意,如果您使用的是早期版本的log4net,那么如果您有其他组件依赖于旧版本,则升级可能会出现问题,如the signing key changed in 1.2.11 as well

答案 1 :(得分:2)

您可以使用Octopus 2.3,利用新的变量替换功能。使用此代码看起来像这样:

<connectionStringName value="#{ConnStringName}" />

在你的版本中,你会传递一个基于环境机器的变量或任何感觉良好的变量,这应该让你想要你想要的。

查看博客文章了解更多信息。 Variable Substitution