Пример #1
0
        /// <summary>
        /// Creates an <see cref="AppenderLayout"/> based on the content of the <see cref="Appender"/>'s <see cref="XElement"/>.
        /// </summary>
        /// <param name="appenderElement">The <see cref="XElement"/> that represents an appender element.</param>
        private static AppenderLayout LoadAppenderLayoutFromElement(XElement appenderElement)
        {
            string   headerLine       = string.Empty;
            XElement headerDescendant =
                RetrieveElementDescendantsByName(appenderElement, AppenderDescendants.Header).FirstOrDefault();

            if (null != headerDescendant)
            {
                headerLine = RetrieveElementAttributeValue(headerDescendant);
            }

            string   footerLine       = string.Empty;
            XElement footerDescendant =
                RetrieveElementDescendantsByName(appenderElement, AppenderDescendants.Footer).FirstOrDefault();

            if (null != footerDescendant)
            {
                footerLine = RetrieveElementAttributeValue(footerDescendant);
            }

            AppenderLayout newAppenderLayout = new AppenderLayout
            {
                Header            = headerLine,
                Footer            = footerLine,
                ConversionPattern = LoadAppenderConversionPatternFromElement(appenderElement)
            };

            return(newAppenderLayout);
        }
Пример #2
0
 public DelimitLogLineActor(IActorRef updateDataSourceActor, AppenderLayout appenderLayout)
 {
     _updateDataSourceActor = updateDataSourceActor;
     _appenderLayout        = appenderLayout;
 }