Beispiel #1
0
        void WriteOptionalTraceInfo()
        {
            var traceInfo = new TraceEventCache();

            #if !NET_3_5
            if (TraceOutputOptions.HasFlag(TraceOptions.DateTime))
            {
                PrintDateTime(traceInfo);
            }
            if (TraceOutputOptions.HasFlag(TraceOptions.ThreadId))
            {
                PrintThreadId(traceInfo);
            }
            #endif
        }
        private bool CallStackAdder(TraceEventType eventType)
        {
            if (TraceOutputOptions.HasFlag(TraceOptions.Callstack))
            {
                return(false);
            }

            bool importantEvent = eventType.HasFlag(TraceEventType.Error) || eventType.HasFlag(TraceEventType.Critical);

            if (!importantEvent)
            {
                return(false);
            }
            TraceOutputOptions |= TraceOptions.Callstack;
            return(true);
        }
 void WriteOptionalTraceInfo()
 {
     #if !__MOBILE__
     var traceInfo = new TraceEventCache();
     if (TraceOutputOptions.HasFlag(TraceOptions.ThreadId))
     {
         PrintThreadId(traceInfo);
     }
     if (TraceOutputOptions.HasFlag(TraceOptions.DateTime))
     {
         PrintDateTime(traceInfo);
     }
     if (TraceOutputOptions.HasFlag(TraceOptions.Timestamp))
     {
         PrintTimeStamp(traceInfo);
     }
     #endif
 }
Beispiel #4
0
        public override void TraceEvent(TraceEventCache eventCache, String source, TraceEventType eventType, Int32 id, String message)
        {
            var builder = new StringBuilder();

            if (TraceOutputOptions.HasFlag(TraceOptions.DateTime))
            {
                builder.AppendFormat("[{0:HH':'mm':'ss.fff}] {1,-16}", DateTime.Now, eventType);
            }
            else
            {
                builder.AppendFormat("{0,-16}", eventType);
            }

            if (!message.IsNullOrWhiteSpace())
            {
                builder.Append(message);
            }

            WriteLine(builder.ToString());
        }
Beispiel #5
0
        protected string BuildJsonEventData(
            DateTime timestamp,
            string source,
            TraceEventType eventType,
            int id,
            object data,
            string callstack            = null,
            Stack logicalOperationStack = null,
            int processId = 0,
            int threadId  = 0)
        {
            var traceData = new JsonTraceData
            {
                Timestamp = timestamp,
                Source    = source,
                Id        = id,
                Type      = eventType.ToString(),
                Host      = Environment.MachineName,
                User      = Environment.UserName,
            };

            if (TraceOutputOptions != TraceOptions.None)
            {
                var traceOptions = Enum.GetValues(typeof(TraceOptions)).Cast <TraceOptions>();
                foreach (var traceOption in traceOptions)
                {
                    if (TraceOutputOptions.HasFlag(traceOption))
                    {
                        switch (traceOption)
                        {
                        case TraceOptions.Callstack:
                            traceData.Callstack = callstack;
                            break;

                        case TraceOptions.LogicalOperationStack:
                            traceData.LogicalOperationStack = logicalOperationStack;
                            break;

                        case TraceOptions.ProcessId:
                            traceData.ProcessId = processId > 0
                                    ? processId
                                    : _processId;
                            break;

                        case TraceOptions.ThreadId:
                            traceData.ThreadId = threadId > 0
                                    ? threadId
                                    : System.Threading.Thread.CurrentThread.ManagedThreadId;
                            break;

                        case TraceOptions.DateTime:
                        case TraceOptions.Timestamp:
                        default:
                            // NOP: not supported
                            break;
                        }
                    }
                }
            }
            if (data != null)
            {
                traceData.Data = data;
            }
            traceData = ExtendOrReplaceJsonTraceData(traceData);
            var json = JsonConvert.SerializeObject(traceData, _serializerSettings);

            return(json);
        }