示例#1
0
        public static void LogMessage(MessageLogTraceRecord log)
        {
            var sw = new StringWriter();

#if NET_2_1
            var xw = XmlWriter.Create(sw, xws);
#else
            var doc = new XmlDocument();
            var xw  = doc.CreateNavigator().AppendChild();
#endif
            xw.WriteStartElement("MessageLogTraceRecord", xmlns);
            xw.WriteStartAttribute("Time");
            xw.WriteValue(log.Time);
            xw.WriteEndAttribute();
            xw.WriteAttributeString("Source", log.Source.ToString());
            xw.WriteAttributeString("Type", log.Type.FullName);
            log.Message.CreateMessage().WriteMessage(xw);
            xw.WriteEndElement();
            xw.Close();

            event_id++;

#if NET_2_1
            log_writer.Write("[{0}] ", event_id);

            TraceCore(TraceEventType.Information, event_id, /*FIXME*/ false, /*FIXME*/ Guid.Empty, sw);
#else
            TraceCore(TraceEventType.Information, event_id, /*FIXME*/ false, /*FIXME*/ Guid.Empty, doc.CreateNavigator());

            message_source.TraceData(TraceEventType.Information, event_id, doc.CreateNavigator());
#endif

            log_writer.Flush();
        }
示例#2
0
        public static void LogMessage(MessageLogTraceRecord log)
        {
            var sw = new StringWriter();
            var xw = XmlWriter.Create(sw, xws);

            xw.WriteStartElement("MessageLogTraceRecord", xmlns);
            xw.WriteStartAttribute("Time");
            xw.WriteValue(log.Time);
            xw.WriteEndAttribute();
            xw.WriteAttributeString("Source", log.Source.ToString());
            xw.WriteAttributeString("Type", log.Type.FullName);
            log.Message.CreateMessage().WriteMessage(xw);
            xw.WriteEndElement();
#if NET_2_1
            Console.Error.Write("[{0}]", event_id++);
            Console.Error.WriteLine(sw);
#else
            message_source.TraceEvent(TraceEventType.Information, event_id++, sw.ToString());
#endif
        }