예제 #1
0
파일: TraceOps.cs 프로젝트: jdruin/F5Eagle
        public static void DebugTrace(
            int?threadId,
            string message,
            string category,
            TracePriority priority
            )
        {
            if (!IsTracePossible())
            {
                return;
            }

            if (!IsTraceEnabled(priority)) /* HACK: *PERF* Bail. */
            {
                return;
            }

            string traceFormat = GetTraceFormat();

            if (traceFormat == null)
            {
                return;
            }

            bool traceDateTime;
            bool tracePriority;
            bool traceAppDomain;
            bool traceInterpreter;
            bool traceThreadId;
            bool traceMethod;

            GetTraceFormatFlags(
                out traceDateTime, out tracePriority, out traceAppDomain,
                out traceInterpreter, out traceThreadId, out traceMethod);

            string methodName = null;

            DebugTraceRaw(FormatOps.TraceOutput(traceFormat,
                                                traceDateTime ? (DateTime?)TimeOps.GetNow() : null,
                                                tracePriority ? (TracePriority?)priority : null,
                                                traceAppDomain ? AppDomainOps.GetCurrent() : null,
                                                traceInterpreter ? Interpreter.GetActive() : null,
                                                traceThreadId ? threadId : null, message, traceMethod,
                                                ref methodName), category, methodName, priority);
        }
예제 #2
0
파일: TraceOps.cs 프로젝트: jdruin/F5Eagle
        public static void DebugWriteTo(
            Interpreter interpreter,
            string value,
            bool force
            )
        {
            if (!IsTracePossible())
            {
                return;
            }

            string traceFormat = GetTraceFormat();

            if (traceFormat == null)
            {
                return;
            }

            bool traceDateTime;
            bool tracePriority;
            bool traceAppDomain;
            bool traceInterpreter;
            bool traceThreadId;
            bool traceMethod;

            GetTraceFormatFlags(
                out traceDateTime, out tracePriority, out traceAppDomain,
                out traceInterpreter, out traceThreadId, out traceMethod);

            DebugOps.WriteTo(interpreter, FormatOps.TraceOutput(traceFormat,
                                                                traceDateTime ? (DateTime?)TimeOps.GetNow() : null, null,
                                                                traceAppDomain ? AppDomainOps.GetCurrent() : null,
                                                                traceInterpreter ? interpreter : null, traceThreadId ?
                                                                (int?)GlobalState.GetCurrentSystemThreadId() : null,
                                                                value, traceMethod), force);
        }