public void CanDeserializeSerializedConfiguration() { string name = "name"; string filename = "filename"; string header = "header"; string footer = "footer"; string formatter = "formatter"; TraceListenerData data = new FlatFileTraceListenerData(name, filename, header, footer, formatter, TraceOptions.Callstack); LoggingSettings settings = new LoggingSettings(); settings.TraceListeners.Add(data); IDictionary<string, ConfigurationSection> sections = new Dictionary<string, ConfigurationSection>(); sections[LoggingSettings.SectionName] = settings; IConfigurationSource configurationSource = ConfigurationTestHelper.SaveSectionsInFileAndReturnConfigurationSource(sections); LoggingSettings roSettigs = (LoggingSettings)configurationSource.GetSection(LoggingSettings.SectionName); Assert.AreEqual(1, roSettigs.TraceListeners.Count); Assert.IsNotNull(roSettigs.TraceListeners.Get(name)); Assert.AreEqual(TraceOptions.Callstack, roSettigs.TraceListeners.Get(name).TraceOutputOptions); Assert.AreSame(typeof(FlatFileTraceListenerData), roSettigs.TraceListeners.Get(name).GetType()); Assert.AreSame(typeof(FlatFileTraceListenerData), roSettigs.TraceListeners.Get(name).ListenerDataType); Assert.AreSame(typeof(FlatFileTraceListener), roSettigs.TraceListeners.Get(name).Type); Assert.AreEqual(filename, ((FlatFileTraceListenerData)roSettigs.TraceListeners.Get(name)).FileName); Assert.AreEqual(footer, ((FlatFileTraceListenerData)roSettigs.TraceListeners.Get(name)).Footer); Assert.AreEqual(formatter, ((FlatFileTraceListenerData)roSettigs.TraceListeners.Get(name)).Formatter); Assert.AreEqual(header, ((FlatFileTraceListenerData)roSettigs.TraceListeners.Get(name)).Header); }
public SendToFlatFileTraceListenerBuilder(ILoggingConfigurationSendTo context, string listenerName) :base(context) { flatFileTracelistenerData = new FlatFileTraceListenerData { Name = listenerName }; base.AddTraceListenerToSettingsAndCategory(flatFileTracelistenerData); }
public void ListenerDataIsCreatedCorrectly() { FlatFileTraceListenerData listenerData = new FlatFileTraceListenerData("listener", "log.txt", "---header---", "+++footer+++", "formatter"); Assert.AreSame(typeof(FlatFileTraceListener), listenerData.Type); Assert.AreSame(typeof(FlatFileTraceListenerData), listenerData.ListenerDataType); Assert.AreEqual("listener", listenerData.Name); Assert.AreEqual("log.txt", listenerData.FileName); Assert.AreEqual("---header---", listenerData.Header); Assert.AreEqual("+++footer+++", listenerData.Footer); Assert.AreEqual("formatter", listenerData.Formatter); }
public override TraceListener Assemble(IBuilderContext context, TraceListenerData objectConfiguration, IConfigurationSource configurationSource, ConfigurationReflectionCache reflectionCache) { FlatFileTraceListenerData castedObjectConfiguration = (FlatFileTraceListenerData)objectConfiguration; ILogFormatter formatter = GetFormatter(context, castedObjectConfiguration.Formatter, configurationSource, reflectionCache); TraceListener createdObject = new FlatFileTraceListener( castedObjectConfiguration.FileName, castedObjectConfiguration.Header, castedObjectConfiguration.Footer, formatter); return(createdObject); }
public void CanCreateInstanceFromGiveName() { FlatFileTraceListenerData listenerData = new FlatFileTraceListenerData("listener", "log.txt", "---header---", "+++footer+++", "formatter"); MockLogObjectsHelper helper = new MockLogObjectsHelper(); helper.loggingSettings.TraceListeners.Add(listenerData); helper.loggingSettings.Formatters.Add(new TextFormatterData("formatter", "foobar template")); TraceListener listener = TraceListenerCustomFactory.Instance.Create(context, "listener", helper.configurationSource, reflectionCache); Assert.IsNotNull(listener); Assert.AreEqual("listener", listener.Name); Assert.AreEqual(listener.GetType(), typeof(FlatFileTraceListener)); Assert.IsNotNull(((FlatFileTraceListener)listener).Formatter); Assert.AreEqual(((FlatFileTraceListener)listener).Formatter.GetType(), typeof(TextFormatter)); Assert.AreEqual("foobar template", ((TextFormatter)((FlatFileTraceListener)listener).Formatter).Template); }
public void TraceListenerIsSingletonInContainer() { FormatterData data = new TextFormatterData("formattername", "template"); loggingSettings.Formatters.Add(data); TraceListenerData traceListenerData = new FlatFileTraceListenerData("name", "filename.log", "formattername"); loggingSettings.TraceListeners.Add(traceListenerData); InitializeContainer(); TraceListener createdObject1 = container.Resolve<TraceListener>("name"); TraceListener createdObject2 = container.Resolve<TraceListener>("name"); Assert.AreSame(createdObject1, createdObject2); }
public void CanCreateTraceListenerWithReferenceToFormatter() { FormatterData data = new TextFormatterData("formattername", "template"); loggingSettings.Formatters.Add(data); TraceListenerData traceListenerData = new FlatFileTraceListenerData("name", "filename.log", "formattername"); traceListenerData.Filter = SourceLevels.Critical; traceListenerData.TraceOutputOptions = TraceOptions.ProcessId; loggingSettings.TraceListeners.Add(traceListenerData); InitializeContainer(); FlatFileTraceListener createdObject = (FlatFileTraceListener)container.Resolve<TraceListener>("name\u200cimplementation"); Assert.IsNotNull(createdObject); Assert.AreEqual("name\u200cimplementation", createdObject.Name); Assert.AreEqual(SourceLevels.Critical, ((EventTypeFilter)createdObject.Filter).EventType); Assert.AreEqual(TraceOptions.ProcessId, createdObject.TraceOutputOptions); Assert.IsNotNull(createdObject.Formatter); Assert.AreEqual("template", ((TextFormatter)createdObject.Formatter).Template); }