4
使用Nlog和数据库目标,有没有办法在运行时设置连接信息?Nlog目标数据库在运行时设置连接信息
使用Nlog和数据库目标,有没有办法在运行时设置连接信息?Nlog目标数据库在运行时设置连接信息
我记得我的一些同事在做类似的事情。他找到了这个答案: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();
谢谢,我不知道为什么我无法找到。 – Gratzy 2012-08-09 21:27:27
请注意,以编程方式更改dbProvider(然后调用LogManager.ReconfigExistingLoggers)不起作用,但它成功更改了连接字符串。不确定它是一个错误还是功能。 – Feyyaz 2013-04-05 14:28:13