NLog是否提供了一种根据我当前环境设置连接字符串的方法。
在Dev中我想去我当地的数据库。
在Prod中我想去我的生产数据库。
我不想在推送更新之前手动更改配置文件。每次我更新...我宁愿不维护我需要记住的多个配置文件,以便为每次更改更新所有配置文件。
理想情况下,我可以调用一个实用程序方法,该方法已经控制了应用程序其余部分访问的数据库。
答案 0 :(得分:1)
您可以在启动时将连接字符串放入全局变量:
https://github.com/NLog/NLog/wiki/Gdc-layout-renderer
然后,您可以使用ConnectionString-property从数据库目标引用此全局变量。
<target name="database" xsi:type="Database" connectionString="${gdc:item=MyCustomProperty}">
<parameter name="@message" layout="${message}" />
</target>
答案 1 :(得分:0)
查看Slow Cheetah,我们将它用于所有配置文件(App.Config.Web.Config,NLog.Config等)。
它可以根据我们的编译构建配置Debug / Staging / Release来转换行或完成部分配置XML。