File: TraceUtility.cs

package info (click to toggle)
mono 4.6.2.7%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 778,148 kB
  • ctags: 914,052
  • sloc: cs: 5,779,509; xml: 2,773,713; ansic: 432,645; sh: 14,749; makefile: 12,361; perl: 2,488; python: 1,434; cpp: 849; asm: 531; sql: 95; sed: 16; php: 1
file content (51 lines) | stat: -rw-r--r-- 2,720 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
//----------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation.  All rights reserved.
//----------------------------------------------------------------------------
namespace System.ServiceModel.Activation.Diagnostics
{
    using System;
    using System.Collections.Generic;
    using System.Diagnostics;
    using System.Globalization;
    using System.Runtime;
    using System.Runtime.Diagnostics;
    
    static class TraceUtility
    {
        static Dictionary<int, string> traceCodes = new Dictionary<int, string>(7)
        {
            { TraceCode.WebHostFailedToCompile, "WebHostFailedToCompile" },
            { TraceCode.WebHostServiceActivated, "WebHostServiceActivated" },
            { TraceCode.WebHostFailedToActivateService, "WebHostFailedToActivateService" },
            { TraceCode.WebHostCompilation, "WebHostCompilation" },
            { TraceCode.WebHostDebugRequest, "WebHostDebugRequest" },
            { TraceCode.WebHostProtocolMisconfigured, "WebHostProtocolMisconfigured" },
            { TraceCode.WebHostServiceCloseFailed, "WebHostServiceCloseFailed" }, 
            { TraceCode.WebHostNoCBTSupport, "WebHostNoCBTSupport" },   
        };

        internal static void TraceEvent(TraceEventType severity, int traceCode, string traceDescription, object source)
        {
            TraceEvent(severity, traceCode, traceDescription, null, source, null);
        }

        internal static void TraceEvent(TraceEventType severity, int traceCode, string traceDescription, object source, Exception exception)
        {
            TraceEvent(severity, traceCode, traceDescription, null, source, exception);
        }

        internal static void TraceEvent(TraceEventType severity, int traceCode, string traceDescription, TraceRecord record, object source, Exception exception)
        {
            Fx.Assert(traceCodes.ContainsKey(traceCode), 
                string.Format(CultureInfo.InvariantCulture, "Unsupported trace code: Please add trace code 0x{0} to the dictionary TraceUtility.traceCodes in {1}", 
                traceCode.ToString("X", CultureInfo.InvariantCulture), typeof(TraceUtility)));
            string msdnTraceCode = System.ServiceModel.Diagnostics.LegacyDiagnosticTrace.GenerateMsdnTraceCode("System.ServiceModel.Activation", traceCodes[traceCode]);
            DiagnosticUtility.DiagnosticTrace.TraceEvent(severity, traceCode, msdnTraceCode, traceDescription, record, exception, source);
        }

        internal static string CreateSourceString(object source)
        {
            return source.GetType().ToString() + "/" + source.GetHashCode().ToString(CultureInfo.CurrentCulture);
        }
    }
}