Exemple #1
0
        protected override string GetFormattedMessage(global::NLog.LogEventInfo logEvent)
        {
            var wrappedEvent = new LogEventWrapper(logEvent);

            PrepareEvent(wrappedEvent);

            var builder = new StringBuilder();

            using (var writer = XmlWriter.Create(builder, new XmlWriterSettings()
            {
                OmitXmlDeclaration = true,
                Encoding = Encoding.UTF8,
                Indent = true,
                IndentChars = "\t"
            }))
            {
                var element = new XElement("message",
                                           new XAttribute("time", logEvent.TimeStamp.ToUniversalTime().ToString("u", CultureInfo.InvariantCulture)),
                                           new XAttribute("source", logEvent.LoggerName),
                                           new XAttribute("level", logEvent.Level),
                                           new XAttribute("message", logEvent.FormattedMessage)
                                           );

                if (logEvent.Exception != null)
                {
                    element.Add(FormatException(logEvent.Exception));
                }

                object extendedInfo;
                if (logEvent.Properties.TryGetValue("extendedInfo", out extendedInfo) && extendedInfo != null)
                {
                    element.Add(new XElement("extendedInfo", extendedInfo));
                }

                foreach (var interceptor in LogEventInterceptorProviders.Providers.GetInterceptors())
                {
                    interceptor.Render(wrappedEvent, element);
                }

                element.Save(writer);
            }

            return(builder.ToString());
        }
        protected override string GetFormattedMessage(global::NLog.LogEventInfo logEvent)
        {
            var wrappedEvent = new LogEventWrapper(logEvent);

            PrepareEvent(wrappedEvent);

            var builder = new StringBuilder();

            using (var writer = XmlWriter.Create(builder, new XmlWriterSettings()
            {
                OmitXmlDeclaration = true,
                Encoding = Encoding.UTF8,
                Indent = true,
                IndentChars = "\t"
            }))
            {
                var element = new XElement("message",
                    new XAttribute("time", logEvent.TimeStamp.ToUniversalTime().ToString("u", CultureInfo.InvariantCulture)),
                    new XAttribute("source", logEvent.LoggerName),
                    new XAttribute("level", logEvent.Level),
                    new XAttribute("message", logEvent.FormattedMessage)
                );

                if (logEvent.Exception != null)
                    element.Add(FormatException(logEvent.Exception));

                object extendedInfo;
                if (logEvent.Properties.TryGetValue("extendedInfo", out extendedInfo) && extendedInfo != null)
                    element.Add(new XElement("extendedInfo", extendedInfo));

                foreach (var interceptor in LogEventInterceptorProviders.Providers.GetInterceptors())
                    interceptor.Render(wrappedEvent, element);

                element.Save(writer);
            }

            return builder.ToString();
        }