我在win-form應用程序中使用Enterprise Library 5.0。企業庫5:創建企業庫對象的實例
1.關於企業圖書館的創建實例對象
什麼是解決了記錄/異常對象引用的最佳方法?在我們的應用程序中,我們有不同的解決方案。因此,解決方案有以下項目:
CommonLib(IIb類) CustomerApp(winform應用程序) CustWinService(服務贏得PROJ) ClassLib2(IIb類)
我已經實現記錄/異常,如下面CommonLib項目。創建一個類APPLOG如下:
public class AppLog
{
public static LogWriter defaultWriter = EnterpriseLibraryContainer.Current.GetInstance<LogWriter>();
public static ExceptionManager exManager = EnterpriseLibraryContainer.Current.GetInstance<ExceptionManager>();
public AppLog()
{
}
public static void WriteLog(string LogMessage, string LogCategories)
{
// Create a LogEntry and populate the individual properties.
if (defaultWriter.IsLoggingEnabled())
{
string[] Logcat = LogCategories.Split(",".ToCharArray());
LogEntry entry2 = new LogEntry();
entry2.Categories = Logcat;
entry2.EventId = 9007;
entry2.Message = LogMessage;
entry2.Priority = 9;
entry2.Title = "Logging Block Examples";
defaultWriter.Write(entry2);
}
}
}
然後我用APPLOG類,如下的日誌記錄和異常在不同的項目:
try
{
AppLog.WriteLog("This is Production Log Entry.", "ExceCategory");
string strtest = string.Empty;
strtest = strtest.Substring(1);
}
catch (Exception ex)
{
bool rethrow = AppLog.exManager.HandleException(ex, "ExcePolicy");
}
所以它的使用日誌記錄和異常的正確方法是什麼?或者我可以改進它的任何其他方式?
2.日誌文件名的動態
在日誌塊,我們有文件名這就需要在app.config文件進行設置。有沒有一種方法可以通過編碼動態分配文件名值?由於我不想在配置文件中對其進行硬編碼,並且生產和開發環境的路徑不同。
感謝 TShah