public void SetUp() { mXmlDoc = new XmlDocument(); mXmlDoc.LoadXml("<log4net>\n" + $" <appender name=\"appender0\" type=\"{AppenderDescriptor.Console.TypeNamespace}\">\n" + " <appender-ref ref=\"appender1\" />\n" + " <appender-ref ref=\"appender2\" />\n" + " </appender>\n" + $" <appender name=\"appender1\" type=\"{AppenderDescriptor.Console.TypeNamespace}\">\n" + " <appender-ref ref=\"appender2\" />\n" + " </appender>\n" + $" <appender name=\"appender2\" type=\"{AppenderDescriptor.Console.TypeNamespace}\">\n" + " </appender>\n" + $" <appender name=\"appender3\" type=\"{AppenderDescriptor.Console.TypeNamespace}\">\n" + " </appender>\n" + $" <appender name=\"asyncAppender\" type=\"{AppenderDescriptor.Async.TypeNamespace}\">\n" + " </appender>\n" + " <root>\n" + " </root>\n" + "</log4net>"); IElementConfiguration appenderConfiguration = Substitute.For <IElementConfiguration>(); appenderConfiguration.ConfigXml.Returns(mXmlDoc); appenderConfiguration.Log4NetNode.Returns(mXmlDoc.FirstChild); appenderConfiguration.OriginalNode.Returns(mXmlDoc.FirstChild["appender"]); mSut = new OutgoingRefs(appenderConfiguration); }
internal RollingFileAppender(IElementConfiguration configuration) : base(configuration) { mDatePattern = new DatePattern(Properties); mMaximumFileSize = new MaximumFileSize(Properties); mCountDirection = new CountDirection(Properties); }
public void Load_ShouldNotLoadAppender_WithNoName() { const string xml = "<log4net>\n" + " <appender name=\"appender0\">\n" + " <appender-ref ref=\"appender1\" />\n" + " <appender-ref ref=\"appender2\" />\n" + " </appender>\n" + " <appender name=\"appender1\">\n" + " <appender-ref ref=\"appender2\" />\n" + " </appender>\n" + " <appender name=\"appender2\">\n" + " </appender>\n" + " <appender name=\"appender3\">\n" + " </appender>\n" + " <appender type=\"Log4Net.Async.AsyncForwardingAppender,Log4Net.Async\">\n" + " <appender-ref ref=\"appender0\" />\n" + " </appender>\n" + "</log4net>"; ReadOnlyCollection <IProperty> properties = new ReadOnlyCollection <IProperty>(new List <IProperty>()); IElementConfiguration appenderConfiguration = GetAppenderConfiguration(mXmlDoc, xml); mNameProperty = new Name(appenderConfiguration); mSut = new IncomingRefs(mNameProperty, appenderConfiguration); Assert.AreEqual(0, mSut.RefsCollection.Count); }
public static IElementDefinition Create(DescriptorBase descriptor, IElementConfiguration configuration) { switch (descriptor) { case AppenderDescriptor appenderDescriptor: return(CreateAppenderDefinition(appenderDescriptor, configuration)); case FilterDescriptor filterDescriptor: return(CreateFilterDefinition(filterDescriptor)); case LoggerDescriptor loggerDescriptor: return(CreateLoggerDefinition(loggerDescriptor, configuration)); case MappingDescriptor mappingDescriptor: return(new MappingDefinition()); case RendererDescriptor rendererDescriptor: return(new RendererDefinition()); case ParamDescriptor paramDescriptor: return(new ParamDefinition(configuration)); default: throw new ArgumentException($"Property definitions do not exist for {descriptor.GetType().Name}"); } }
public OutgoingRefs(ReadOnlyCollection <IProperty> container, IElementConfiguration appenderConfiguration) : base(container, "↑ Refs:", "This element can reference the following appenders:") { mConfiguration = appenderConfiguration; RefsCollection = new ObservableCollection <AppenderModel>(); LoadPossibleReferences(); }
public OutgoingRefs(IElementConfiguration appenderConfiguration) : base("↑ Refs:", "This element can reference the following appenders:") { mConfiguration = appenderConfiguration; RefsCollection = new ObservableCollection <AppenderModel>(); LoadPossibleReferences(); }
public void SetUp() { const string xml = "<log4net>\n" + " <appender name=\"appender0\">\n" + " <appender-ref ref=\"appender1\" />\n" + " <appender-ref ref=\"appender2\" />\n" + " </appender>\n" + " <appender name=\"appender1\">\n" + " <appender-ref ref=\"appender2\" />\n" + " </appender>\n" + " <appender name=\"appender2\">\n" + " </appender>\n" + " <appender name=\"appender3\">\n" + " </appender>\n" + " <appender name=\"asyncAppender\" type=\"Log4Net.Async.AsyncForwardingAppender,Log4Net.Async\">\n" + " <appender-ref ref=\"appender0\" />\n" + " </appender>\n" + " <root>\n" + " <appender-ref ref=\"asyncAppender\" />\n" + " </root>\n" + "</log4net>"; mXmlDoc = new XmlDocument(); ReadOnlyCollection <IProperty> properties = new ReadOnlyCollection <IProperty>(new List <IProperty>()); IElementConfiguration appenderConfiguration = GetAppenderConfiguration(mXmlDoc, xml); mNameProperty = new Name(appenderConfiguration); mNameProperty.Load(appenderConfiguration.OriginalNode); mSut = new IncomingRefs(mNameProperty, appenderConfiguration); }
public void Load_ShouldNotLoadRoot_WhenNonexistent() { const string xml = "<log4net>\n" + " <appender name=\"appender0\">\n" + " <appender-ref ref=\"appender1\" />\n" + " <appender-ref ref=\"appender2\" />\n" + " </appender>\n" + " <appender name=\"appender1\">\n" + " <appender-ref ref=\"appender2\" />\n" + " </appender>\n" + " <appender name=\"appender2\">\n" + " </appender>\n" + " <appender name=\"appender3\">\n" + " </appender>\n" + " <appender name=\"asyncAppender\" type=\"Log4Net.Async.AsyncForwardingAppender,Log4Net.Async\">\n" + " <appender-ref ref=\"appender0\" />\n" + " </appender>\n" + "</log4net>"; ReadOnlyCollection <IProperty> properties = new ReadOnlyCollection <IProperty>(new List <IProperty>()); IElementConfiguration appenderConfiguration = GetAppenderConfiguration(mXmlDoc, xml); mNameProperty = new Name(appenderConfiguration); mSut = new IncomingRefs(mNameProperty, appenderConfiguration); Assert.AreEqual(1, mSut.RefsCollection.Count); Assert.IsTrue(mSut.RefsCollection.All(r => !r.IsEnabled)); //Locations aren't enabled until a load is done with this appender's name Assert.IsTrue(mSut.RefsCollection.All(r => r.Node.Name != "root")); }
public IncomingRefs(ReadOnlyCollection <IProperty> container, Name nameProperty, IElementConfiguration appenderConfiguration) : base(container, "↓ Refs:", "This appender can be referenced in the following elements:") { mNameProperty = nameProperty; mAppenderConfiguration = appenderConfiguration; RefsCollection = new ObservableCollection <IAcceptAppenderRef>(); LoadAvailableLocations(); }
public CioConfiguration(IElementConfiguration elementConfig) { if (elementConfig == null) { throw new ArgumentNullException("elementConfig"); } this.Elements = elementConfig; }
public void CreateElementConfigurationFor_ShouldCreateElementConfigWithCorrectProperties_WhenModelIsNull() { mSut.Load(); IElementConfiguration elementConfiguration = mSut.CreateElementConfigurationFor(null, AppenderDescriptor.Async.ElementName); Assert.IsNull(elementConfiguration.OriginalNode); Assert.AreEqual(AppenderDescriptor.Async.ElementName, elementConfiguration.NewNode.Name); Assert.AreSame(mSut.ConfigXml, elementConfiguration.ConfigXml); Assert.AreSame(mSut.Log4NetNode, elementConfiguration.Log4NetNode); }
public void SetUp() { XmlDocument xmlDoc = new XmlDocument(); XmlElement log4NetNode = xmlDoc.CreateElement(Log4NetXmlConstants.Log4Net); IElementConfiguration configuration = Substitute.For <IElementConfiguration>(); configuration.ConfigXml.Returns(xmlDoc); configuration.Log4NetNode.Returns(log4NetNode); mSut = new ConsoleAppender(configuration); }
public void CreateElementConfigurationFor_ShouldCreateElementConfigWithCorrectProperties() { mSut.Load(); AsyncAppenderModel originalModel = mSut.Children.OfType <AsyncAppenderModel>().First(); IElementConfiguration elementConfiguration = mSut.CreateElementConfigurationFor(originalModel, AppenderDescriptor.Async.ElementName); Assert.AreSame(originalModel.Node, elementConfiguration.OriginalNode); Assert.AreEqual(AppenderDescriptor.Async.ElementName, elementConfiguration.NewNode.Name); Assert.AreSame(mSut.ConfigXml, elementConfiguration.ConfigXml); Assert.AreSame(mSut.Log4NetNode, elementConfiguration.Log4NetNode); }
public void SetUp() { XmlDocument xmlDoc = new XmlDocument(); XmlElement log4NetNode = xmlDoc.CreateElement("log4net"); IElementConfiguration configuration = Substitute.For <IElementConfiguration>(); configuration.ConfigXml.Returns(xmlDoc); configuration.Log4NetNode.Returns(log4NetNode); mSut = new LocalSyslogAppender(configuration); }
internal RollingFileAppender(IElementConfiguration configuration) : base(configuration) { mDatePattern = new DatePattern(); mMaximumFileSize = new MaximumFileSize(); mCountDirection = new CountDirection(); mDateTimeStrategy = new StringValueProperty("Date Time Strategy:", "dateTimeStrategy", Log4NetXmlConstants.Type) { ToolTip = "Sets the strategy for determining the current date and time.\n" + "The default implementation is to use LocalDateTime (log4net.Appender.RollingFileAppender+LocalDateTime,log4net) which internally calls through to DateTime.Now.\n" + "DateTime.UtcNow may be used on frameworks newer than .NET 1.0 by specifying UniversalDateTime (log4net.Appender.RollingFileAppender+UniversalDateTime,log4net).\n" + "A custom implementation that implements IDateTime can be specified here as well. Leave blank to use LocalDateTime." }; }
public void SetUp() { mXmlDoc = new XmlDocument(); mLog4NetNode = mXmlDoc.CreateElement("log4net"); mOriginalAppender = mXmlDoc.CreateElementWithAttribute("appender", "name", OriginalName); mOriginalAppender.AppendTo(mLog4NetNode); mAppenderConfiguration = Substitute.For <IElementConfiguration>(); mAppenderConfiguration.ConfigXml.Returns(mXmlDoc); mAppenderConfiguration.Log4NetNode.Returns(mLog4NetNode); mAppenderConfiguration.OriginalNode.Returns(mOriginalAppender); mSut = new Name(new ReadOnlyCollection <IProperty>(new List <IProperty>()), mAppenderConfiguration); }
public void Execute_ShouldAppend_WhenOriginalNodeIsNull() { XmlDocument xmlDoc = new XmlDocument(); XmlElement log4NetElement = xmlDoc.CreateElement(Log4NetXmlConstants.Log4Net); XmlElement newElement = xmlDoc.CreateElement("appender"); IElementConfiguration config = Substitute.For <IElementConfiguration>(); config.Log4NetNode.Returns(log4NetElement); config.NewNode.Returns(newElement); ISaveStrategy strategy = new AppendReplaceSaveStrategy(config, false); strategy.Execute(); Assert.AreEqual(newElement, log4NetElement.FirstChild); }
public ElementWindow(IElementConfiguration appenderConfiguration, IElementDefinition propertyDefinition, IWindowSizeLocation windowSizeLocation, ISaveStrategy saveStrategy) : base(windowSizeLocation.RetentionKey) { InitializeComponent(); DataContext = this; mMessageBoxService = new MessageBoxService(this); mConfiguration = appenderConfiguration; mSaveStrategy = saveStrategy; SetWindowSizeLocation(windowSizeLocation); PropertyDefinition = propertyDefinition; PropertyDefinition.MessageBoxService = mMessageBoxService; Loaded += WindowOnLoaded; Icon = new BitmapImage(new Uri(PropertyDefinition.Icon)); }
public ElementWindow(IElementConfiguration appenderConfiguration, IElementDefinition propertyDefinition, IWindowSizeLocation windowSizeLocation, ISaveStrategy saveStrategy) : base(windowSizeLocation.RetentionKey) { InitializeComponent(); DataContext = this; mMessageBoxService = new MessageBoxService(this); mConfiguration = appenderConfiguration; WindowSizeLocation = windowSizeLocation; mSaveStrategy = saveStrategy; SetWindowSizeLocation(windowSizeLocation); PropertyDefinition = propertyDefinition; PropertyDefinition.MessageBoxService = mMessageBoxService; Properties = new ObservableCollection <IProperty>(); Loaded += WindowOnLoaded; ((INotifyCollectionChanged)PropertyDefinition.Properties).CollectionChanged += PropertiesOnCollectionChanged; Icon = new BitmapImage(new Uri(PropertyDefinition.Icon)); }
public void Execute_ShouldAppend_WhenOriginalNodeIsNotNull_AndForceAppendIsTrue() { XmlDocument xmlDoc = new XmlDocument(); XmlElement log4NetElement = xmlDoc.CreateElement(Log4NetXmlConstants.Log4Net); XmlElement origElement = xmlDoc.CreateElement("origAppender"); XmlElement newElement = xmlDoc.CreateElement("newAppender"); IElementConfiguration config = Substitute.For <IElementConfiguration>(); config.Log4NetNode.Returns(log4NetElement); config.OriginalNode.Returns(origElement); config.NewNode.Returns(newElement); //Sanity check Assert.AreEqual(0, log4NetElement.ChildNodes.Count); ISaveStrategy strategy = new AppendReplaceSaveStrategy(config, true); strategy.Execute(); Assert.AreEqual(1, log4NetElement.ChildNodes.Count); Assert.AreEqual(newElement, log4NetElement.FirstChild); }
internal UdpAppender(IElementConfiguration configuration) : base(configuration) { }
public AspNetTraceAppender(IElementConfiguration configuration) : base(configuration) { }
public MemoryAppender(IElementConfiguration configuration) : base(configuration, false) { }
public OutputStringDebugAppender(IElementConfiguration configuration) : base(configuration) { }
public EventLogAppender(IElementConfiguration appenderConfiguration) : base(appenderConfiguration) { }
public RootLogger(IElementConfiguration appenderConfiguration) { mAppenderConfiguration = appenderConfiguration; }
public AwsAppender(IElementConfiguration configuration, bool requiresLayout = true) : base(configuration, requiresLayout) { }
public Name(IElementConfiguration configuration) : base("Name:", Log4NetXmlConstants.Name) { mConfiguration = configuration; IsFocused = true; }
internal RemoteSyslogAppender(IElementConfiguration configuration) : base(configuration) { }
internal ForwardingAppender(IElementConfiguration appenderConfiguration) : base(appenderConfiguration, false) { }
internal SmtpPickupDirAppender(IElementConfiguration configuration) : base(configuration, true) { }