使用 Nlog 和 Database 目标,有没有办法在运行时设置连接信息?
问问题
3791 次
1 回答
9
我记得我的一些同事正在做类似的事情。他找到了这个答案: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();
于 2012-08-09T21:00:53.220 回答