2013-07-30 40 views
0

這可能是一個簡單的問題。有沒有什麼辦法可以在數據庫跟蹤偵聽器中以編程方式設置databaseInstanceName?由於我的應用程序與不同的數據庫進行交互(可以說在connectionString標記中,我有3個連接字符串指向不同的數據庫),所以我有一個要求將數據庫中的異常記錄到相應的數據庫中。我沒有supoosed創建一個單獨的數據庫日誌記錄。如何在C#代碼中的數據庫跟蹤監聽器中設置databaseInstanceName?

有沒有辦法?

回答

0

使用流暢API來配置企業庫...

var configurationSourceBuilder = new ConfigurationSourceBuilder(); 

// do other configuration here 

configurationSourceBuilder 
    .ConfigureLogging() 
     .LogToCategoryNamed("Category") 
      .SendTo.Database("Database Trace Listener") 
       .UseDatabase("DatabaseInstance"); 

// or here 

var configurationSource = new DictionaryConfigurationSource(); 
configurationSourceBuilder.UpdateConfigurationWithReplace(configurationSource); 
EnterpriseLibraryContainer.Current = EnterpriseLibraryContainer.CreateDefaultContainer(configurationSource); 

如果你有三個連接字符串的原因是你的程序以支持三種不同的環境中運行(開發/測試/生產?) ,更好的選擇可能是改爲使用單個連接字符串。然後部署爲每個環境定製的配置文件,以便代碼對於所有環境都是相同的。

+0

嘿@Tim B.我在上面的代碼中添加了.WithOptions.SetAsDefaultCategory(),它開始工作。非常感謝 :-) –

相關問題