internal static void SetupCustomLogging(Package pkg, string sLogFilePath) { //add connection manager for BIDS Helper custom logging ConnectionManager cm = pkg.Connections.Add("FILE"); cm.Name = "BidsHelperPerformanceLoggingConnectionMgr"; cm.ConnectionString = sLogFilePath; //remove existing log providers because we don't want to send all our log stuff to their log provider while (pkg.LogProviders.Count > 0) { pkg.LogProviders.Remove(0); } //remove existing selected log providers while (pkg.LoggingOptions.SelectedLogProviders != null && pkg.LoggingOptions.SelectedLogProviders.Count > 0) { pkg.LoggingOptions.SelectedLogProviders.Remove(0); } RecurseTasksAndSetupLogging(pkg); //add BIDS Helper custom logging settings LogProvider log = pkg.LogProviders.Add(LogProviderCreationName); log.ConfigString = cm.Name; log.Name = "BidsHelperPerformanceLogging"; log.Description = log.Name; pkg.LoggingOptions.SelectedLogProviders.Add(log); pkg.LoggingMode = DTSLoggingMode.Enabled; //specify events to log LoggingOptions LoggingOptions = pkg.LoggingOptions; LoggingOptions.EventFilterKind = DTSEventFilterKind.Inclusion; LoggingOptions.EventFilter = System.Enum.GetNames(typeof(BidsHelperCapturedDtsLogEvent)); //specify columns to log DTSEventColumnFilter colFilter = new DTSEventColumnFilter(); colFilter.SourceID = true; colFilter.SourceName = true; colFilter.MessageText = true; foreach (string sEvent in LoggingOptions.EventFilter) { LoggingOptions.SetColumnFilter(sEvent, colFilter); } }
internal static void SetupCustomLogging(Package pkg, string sLogFilePath) { //add connection manager for BIDS Helper custom logging ConnectionManager cm = pkg.Connections.Add("FILE"); cm.Name = "BidsHelperPerformanceLoggingConnectionMgr"; cm.ConnectionString = sLogFilePath; //remove existing log providers because we don't want to send all our log stuff to their log provider while (pkg.LogProviders.Count > 0) pkg.LogProviders.Remove(0); //remove existing selected log providers while (pkg.LoggingOptions.SelectedLogProviders != null && pkg.LoggingOptions.SelectedLogProviders.Count > 0) pkg.LoggingOptions.SelectedLogProviders.Remove(0); RecurseTasksAndSetupLogging(pkg); //add BIDS Helper custom logging settings LogProvider log = pkg.LogProviders.Add(TEXT_LOG_PROVIDER_IDENTIFIER); log.ConfigString = cm.Name; log.Name = "BidsHelperPerformanceLogging"; log.Description = log.Name; pkg.LoggingOptions.SelectedLogProviders.Add(log); pkg.LoggingMode = DTSLoggingMode.Enabled; //specify events to log LoggingOptions LoggingOptions = pkg.LoggingOptions; LoggingOptions.EventFilterKind = DTSEventFilterKind.Inclusion; LoggingOptions.EventFilter = System.Enum.GetNames(typeof(BidsHelperCapturedDtsLogEvent)); //specify columns to log DTSEventColumnFilter colFilter = new DTSEventColumnFilter(); colFilter.SourceID = true; colFilter.SourceName = true; colFilter.MessageText = true; foreach (string sEvent in LoggingOptions.EventFilter) { LoggingOptions.SetColumnFilter(sEvent, colFilter); } }