public void LoggingWithException() { var adapter = new ETWLoggerFactoryAdapter(); var logger = adapter.GetLogger(string.Empty); logger.Debug("This is a test message from ETW source!", new Exception("I am the test exception")); }
public void BasicLoggingScenario() { var adapter = new ETWLoggerFactoryAdapter(); var logger = adapter.GetLogger(string.Empty); logger.Warn("This is a test message from ETW source!"); }
public void CanSetEventSourceToSameInstanceOfSameTypeMultipleTimes() { var eventSource = new TestEventSource4(); var adapter = new ETWLoggerFactoryAdapter(); //setting the event source to the same *instance* multiple times should not throw adapter.EventSource = eventSource; adapter.EventSource = eventSource; }
public void LoggingWithCustomEventSource() { var adapter = new ETWLoggerFactoryAdapter { ETWEventSource = new MyCustomEventSource() }; var logger = adapter.GetLogger(string.Empty); logger.Warn("This message should never appear in the ETW logs b/c its ignored by the custom EventSource for the sake of the test!"); }
public void ByDefaultCannotSetEventSourceToSameTypeMultipleTimesOnSingleAdapter() { //setting the EventSource once is permitted var adapter = new ETWLoggerFactoryAdapter { EventSource = new TestEventSource3() }; //setting it to another instance of the same type again is not Assert.Throws <InvalidOperationException>(() => adapter.EventSource = new TestEventSource3()); }
public void CanSetDifferentEventSourceTypesOnMultipleAdapters() { var adapter1 = new ETWLoggerFactoryAdapter { EventSource = new TestEventSource1() }; var adapter2 = new ETWLoggerFactoryAdapter { EventSource = new TestEventSource2() }; Assert.That(adapter1.EventSource is TestEventSource1); Assert.That(adapter2.EventSource is TestEventSource2); }
public void ExplicitLoggingLevelImplicitlyIncludesGreaterLoggingLevels() { Assume.That(LogLevel.Fatal > LogLevel.Debug, "Relationship between FATAL and DEBUG logging levels not as expected."); var props = new NameValueCollection { { "level", "debug" } }; var adapter = new ETWLoggerFactoryAdapter(props); var logger = adapter.GetLogger(string.Empty); Assert.That(logger.IsFatalEnabled); }
public void CanUseDefaultEventSourceTypeIfNoneSpecifiedInConfigFile() { const string xml = @"<?xml version='1.0' encoding='UTF-8' ?> <logging> <factoryAdapter type='Common.Logging.ETW.ETWLoggerFactoryAdapter, Common.Logging.ETWLogger'> </factoryAdapter> </logging>"; var reader = new StandaloneConfigurationReader(xml); var setting = reader.GetSection(null) as LogSetting; Assume.That(setting, Is.Not.Null, "Failed to parse config to create expected LogSetting instance."); var adapter = new ETWLoggerFactoryAdapter(setting.Properties); Assert.That(adapter.EventSource, Is.TypeOf <CommonLoggingEventSource>()); }
public void CanSetEventSourceToSameTypeMultipleTimesOnMultipleAdapterWithPermitDuplicateSetToTrue() { const string xml = @"<?xml version='1.0' encoding='UTF-8' ?> <logging> <factoryAdapter type='Common.Logging.ETW.ETWLoggerFactoryAdapter, Common.Logging.ETWLogger'> <arg key='permitDuplicateEventSourceRegistration' value='true'/> </factoryAdapter> </logging>"; var reader = new StandaloneConfigurationReader(xml); var setting = reader.GetSection(null) as LogSetting; Assume.That(setting, Is.Not.Null, "Failed to parse config to create expected LogSetting instance."); var adapter1 = new ETWLoggerFactoryAdapter(setting.Properties); var adapter2 = new ETWLoggerFactoryAdapter(setting.Properties); adapter1.EventSource = new TestEventSource5(); adapter2.EventSource = new TestEventSource5(); }
public void CanReadLogLevelFromConfigFile() { const string xml = @"<?xml version='1.0' encoding='UTF-8' ?> <logging> <factoryAdapter type='Common.Logging.ETW.ETWLoggerFactoryAdapter, Common.Logging.ETWLogger'> arg key='level' value='warn' /> </factoryAdapter> </logging>"; var reader = new StandaloneConfigurationReader(xml); var setting = reader.GetSection(null) as LogSetting; Assume.That(setting, Is.Not.Null, "Failed to parse config to create expected LogSetting instance."); var adapter = new ETWLoggerFactoryAdapter(setting.Properties); Assert.That(adapter.LogLevel.HasFlag(LogLevel.Warn)); }
public void CanReadCustomCommonLoggingEventSourceTypeFromConfigFile() { const string xml = @"<?xml version='1.0' encoding='UTF-8' ?> <logging> <factoryAdapter type='Common.Logging.ETW.ETWLoggerFactoryAdapter, Common.Logging.ETWLogger'> <arg key='commonLoggingEventSourceType' value='Common.Logging.ETWLogger.Tests.MyCustomEventSource,Common.Logging.ETWLogger.Tests'/> </factoryAdapter> </logging>"; var reader = new StandaloneConfigurationReader(xml); var setting = reader.GetSection(null) as LogSetting; Assume.That(setting, Is.Not.Null, "Failed to parse config to create expected LogSetting instance."); var adapter = new ETWLoggerFactoryAdapter(setting.Properties); Assert.That(adapter.ETWEventSource, Is.TypeOf <MyCustomEventSource>()); }