Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 25 additions & 19 deletions src/AdvancedTrace/AdvancedTrace.cs
Original file line number Diff line number Diff line change
Expand Up @@ -145,11 +145,11 @@ public static void Trace(string traceType, string value, bool writeLine = true)
{
Action<TraceListener> traceAction = listener =>
{
if (listener is AdvancedTraceListener)
if (listener is IAdvancedTraceListener)
if (writeLine)
((AdvancedTraceListener)listener).WriteLineEx(traceType, value);
((IAdvancedTraceListener)listener).WriteLineEx(traceType, value);
else
((AdvancedTraceListener)listener).WriteEx(traceType, value);
((IAdvancedTraceListener)listener).WriteEx(traceType, value);
else
listener.WriteLine(value);
};
Expand All @@ -161,11 +161,11 @@ public static void Trace(string traceType, string value, string userCategory, bo
{
Action<TraceListener> traceAction = listener =>
{
if (listener is AdvancedTraceListener)
if (listener is IAdvancedTraceListener)
if (writeLine)
((AdvancedTraceListener)listener).WriteLineEx(traceType, value, userCategory);
((IAdvancedTraceListener)listener).WriteLineEx(traceType, value, userCategory);
else
((AdvancedTraceListener)listener).WriteEx(traceType, value, userCategory);
((IAdvancedTraceListener)listener).WriteEx(traceType, value, userCategory);
else
listener.WriteLine(value);
};
Expand All @@ -177,11 +177,11 @@ public static void Trace(string traceType, object value, bool writeLine = true)
{
Action<TraceListener> traceAction = listener =>
{
if (listener is AdvancedTraceListener)
if (listener is IAdvancedTraceListener)
if (writeLine)
((AdvancedTraceListener)listener).WriteLineEx(traceType, value);
((IAdvancedTraceListener)listener).WriteLineEx(traceType, value);
else
((AdvancedTraceListener)listener).WriteEx(traceType, value);
((IAdvancedTraceListener)listener).WriteEx(traceType, value);
else
listener.WriteLine(value);
};
Expand All @@ -193,11 +193,11 @@ public static void Trace(string traceType, object value, string userCategory, bo
{
Action<TraceListener> traceAction = listener =>
{
if (listener is AdvancedTraceListener)
if (listener is IAdvancedTraceListener)
if (writeLine)
((AdvancedTraceListener)listener).WriteLineEx(traceType, value, userCategory);
((IAdvancedTraceListener)listener).WriteLineEx(traceType, value, userCategory);
else
((AdvancedTraceListener)listener).WriteEx(traceType, value, userCategory);
((IAdvancedTraceListener)listener).WriteEx(traceType, value, userCategory);
else
listener.WriteLine(value);
};
Expand All @@ -209,11 +209,11 @@ public static void Trace(string traceType, string value, Exception exception, bo
{
Action<TraceListener> traceAction = listener =>
{
if (listener is AdvancedTraceListener)
if (listener is IAdvancedTraceListener)
if (writeLine)
((AdvancedTraceListener)listener).WriteLineEx(traceType, value, null, exception);
((IAdvancedTraceListener)listener).WriteLineEx(traceType, value, null, exception);
else
((AdvancedTraceListener)listener).WriteEx(traceType, value, null, exception);
((IAdvancedTraceListener)listener).WriteEx(traceType, value, null, exception);
else
listener.WriteLine(value + " " + exception.ToString());
};
Expand All @@ -225,11 +225,11 @@ public static void Trace(string traceType, string value, Exception exception, st
{
Action<TraceListener> traceAction = listener =>
{
if (listener is AdvancedTraceListener)
if (listener is IAdvancedTraceListener)
if (writeLine)
((AdvancedTraceListener)listener).WriteLineEx(traceType, value, userCategory, exception);
((IAdvancedTraceListener)listener).WriteLineEx(traceType, value, userCategory, exception);
else
((AdvancedTraceListener)listener).WriteEx(traceType, value, userCategory, exception);
((IAdvancedTraceListener)listener).WriteEx(traceType, value, userCategory, exception);
else
listener.WriteLine(value + " " + exception.ToString(), userCategory);
};
Expand Down Expand Up @@ -545,7 +545,7 @@ private static void InternalAddListener(string type, TraceListener traceListener
}

// Our base implementation of the TraceListener -> Used to build custom listener
public abstract class AdvancedTraceListener : TraceListener
public abstract class AdvancedTraceListener : TraceListener, IAdvancedTraceListener
{
// The standard write methods will never be called on the AdvancedTraceListener
[EditorBrowsable(EditorBrowsableState.Never)]
Expand All @@ -570,4 +570,10 @@ public virtual void WriteEx(string traceType, object value, string pstrUserCateg
public virtual void WriteLineEx(string traceType, object value, string pstrUserCategory = null, Exception exception = null) { }
}

public interface IAdvancedTraceListener
{
void WriteEx(string traceType, object value, string pstrUserCategory = null, Exception exception = null);
void WriteLineEx(string traceType, object value, string pstrUserCategory = null, Exception exception = null);
}

}