4

Nlog とデータベース ターゲットを使用して、実行時に接続情報を設定する方法はありますか?

4

1 に答える 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 に答える