Nlog目标数据库在运行时设置连接信息

时间:2012-08-09 20:20:54

标签: c# nlog

使用Nlog和数据库目标,有没有办法在运行时设置连接信息?

1 个答案:

答案 0 :(得分:4)

我记得我的一些同事在做类似的事情。他找到了这个答案:http://nlog-forum.1685105.n2.nabble.com/DDL-for-Database-Table-How-to-set-Connection-String-Programmatically-td5241103.html工作得非常好。

从上面的链接

  

覆盖连接字符串的最简单方法是使用   GDC:

<target name="db" type="Database" connectionString="${gdc:myConnectionstring}" ... />
  

现在,您可以在代码中执行以下操作:

GDC.Set("myConnectionString", "Server=.;database=.....");
  

您还可以修改目标:

var config = LogManager.Configuration;
var dbTarget = (DatabaseTarget)config.FindTargetByName("db");
dbTarget.ConnectionString = "server=.;...";
LogManager.ReconfigExistingLoggers();