【问题标题】:Transform log4net Appender Connection String Using Octopus Deploy使用 Octopus Deploy 转换 log4net Appender 连接字符串
【发布时间】:2014-03-05 10:23:51
【问题描述】:

我在web.config 文件中配置了许多命名的附加程序,我想知道是否可以将这些作为标准部署的一部分作为普通变量转换来解决?

我希望能够改变的是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" />

【问题讨论】:

    标签: asp.net log4net octopus-deploy


    【解决方案1】:

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-15
      • 1970-01-01
      • 1970-01-01
      • 2018-01-31
      • 1970-01-01
      • 1970-01-01
      • 2012-02-23
      • 1970-01-01
      相关资源
      最近更新 更多