You've already forked linux-packaging-mono
Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
This commit is contained in:
parent
a569aebcfd
commit
e79aa3c0ed
@@ -0,0 +1,99 @@
|
||||
namespace System.Workflow.Runtime
|
||||
{
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
|
||||
/// <summary>
|
||||
/// Holds trace sources for the runtime and associated modules
|
||||
/// </summary>
|
||||
internal static class WorkflowTrace
|
||||
{
|
||||
static TraceSource runtime;
|
||||
static TraceSource tracking;
|
||||
static TraceSource host;
|
||||
|
||||
/// <summary>
|
||||
/// Tracesource for the core runtime
|
||||
/// </summary>
|
||||
internal static TraceSource Runtime
|
||||
{
|
||||
get { return runtime; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tracesource for tracking
|
||||
/// </summary>
|
||||
internal static TraceSource Tracking
|
||||
{
|
||||
get { return tracking; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tracesource for the host
|
||||
/// </summary>
|
||||
internal static TraceSource Host
|
||||
{
|
||||
get { return host; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Statically set up trace sources
|
||||
///
|
||||
/// To enable logging to a file, add lines like the following to your app config file.
|
||||
/*
|
||||
<system.diagnostics>
|
||||
<switches>
|
||||
<add name="System.Workflow LogToFile" value="1" />
|
||||
</switches>
|
||||
</system.diagnostics>
|
||||
*/
|
||||
/// To enable tracing to default trace listeners, add lines like the following
|
||||
/*
|
||||
<system.diagnostics>
|
||||
<switches>
|
||||
<add name="System.Workflow LogToTraceListener" value="1" />
|
||||
</switches>
|
||||
</system.diagnostics>
|
||||
*/
|
||||
/// </summary>
|
||||
static WorkflowTrace()
|
||||
{
|
||||
runtime = new TraceSource("System.Workflow.Runtime");
|
||||
runtime.Switch = new SourceSwitch("System.Workflow.Runtime", SourceLevels.Off.ToString());
|
||||
// we'll use ID of 1 for the scheduler, 0 for rest of runtime
|
||||
|
||||
tracking = new TraceSource("System.Workflow.Runtime.Tracking");
|
||||
tracking.Switch = new SourceSwitch("System.Workflow.Runtime.Tracking", SourceLevels.Off.ToString());
|
||||
|
||||
host = new TraceSource("System.Workflow.Runtime.Hosting");
|
||||
host.Switch = new SourceSwitch("System.Workflow.Runtime.Hosting", SourceLevels.Off.ToString());
|
||||
|
||||
|
||||
|
||||
BooleanSwitch logToFile = new BooleanSwitch("System.Workflow LogToFile", "Log traces to file");
|
||||
if (logToFile.Enabled)
|
||||
{
|
||||
TextWriterTraceListener fileLog = new TextWriterTraceListener("WorkflowTrace.log");
|
||||
// add to global Listeners list
|
||||
Trace.Listeners.Add(fileLog);
|
||||
// don't add to tracking (which probably has its own log)
|
||||
runtime.Listeners.Add(fileLog);
|
||||
host.Listeners.Add(fileLog);
|
||||
}
|
||||
|
||||
BooleanSwitch traceToDefault = new BooleanSwitch("System.Workflow LogToTraceListeners", "Trace to listeners in Trace.Listeners", "0");
|
||||
if (traceToDefault.Enabled)
|
||||
{
|
||||
foreach (TraceListener listener in Trace.Listeners)
|
||||
{
|
||||
if (!(listener is DefaultTraceListener))
|
||||
{
|
||||
runtime.Listeners.Add(listener);
|
||||
tracking.Listeners.Add(listener);
|
||||
host.Listeners.Add(listener);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user