NLog根据解决方案配置使用不同的配置文件

时间:2017-08-22 07:47:42

标签: c# logging nlog

我正在开发一个ASP.Net Web API 2项目,并已配置nlog将应用程序日志写入数据库。

由于我们有4个环境(本地,测试,登台,产品),我需要将日志写入不同的数据库。

所以,在我的web.config中我有:

<configSections>
    <section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog"/>
</configSections>

另外, 我有一个Nlog.config文件:

<?xml version="1.0" encoding="utf-8"?>
 <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <targets>
  <target name="ExceptionLog" type="Database">
    <connectionString>
       // DbConnectionString
    </connectionString>
    <commandText>
       // INSERT COMMAND
    </commandText>
       //   Parameters
  </target>  

我需要的是每个环境的不同连接字符串。或者也许是一堆文件,如NLog.Staging.config,NLog.Testing.config等。

请告知。

1 个答案:

答案 0 :(得分:0)

您的问题基本上是关于配置文件。看看SlowCheetah。这将有助于根据VS配置将任何配置文件转换为不同的布局。

我们目前在Visual Studio,Debug,Staging和Release中有3种不同的配置。根据我们编译的配置,SlowCheetah将通过转换行或整个部分将Web.Config和NLog.config文件转换为该配置。