81 lines
2.6 KiB
C#
81 lines
2.6 KiB
C#
using System;
|
|
using System.Diagnostics;
|
|
using System.Text;
|
|
|
|
namespace ContosoUniversity.Logging
|
|
{
|
|
public class Logger : ILogger
|
|
{
|
|
|
|
public void Information(string message)
|
|
{
|
|
Trace.TraceInformation(message);
|
|
}
|
|
|
|
public void Information(string fmt, params object[] vars)
|
|
{
|
|
Trace.TraceInformation(fmt, vars);
|
|
}
|
|
|
|
public void Information(Exception exception, string fmt, params object[] vars)
|
|
{
|
|
Trace.TraceInformation(FormatExceptionMessage(exception, fmt, vars));
|
|
}
|
|
|
|
public void Warning(string message)
|
|
{
|
|
Trace.TraceWarning(message);
|
|
}
|
|
|
|
public void Warning(string fmt, params object[] vars)
|
|
{
|
|
Trace.TraceWarning(fmt, vars);
|
|
}
|
|
|
|
public void Warning(Exception exception, string fmt, params object[] vars)
|
|
{
|
|
Trace.TraceWarning(FormatExceptionMessage(exception, fmt, vars));
|
|
}
|
|
|
|
public void Error(string message)
|
|
{
|
|
Trace.TraceError(message);
|
|
}
|
|
|
|
public void Error(string fmt, params object[] vars)
|
|
{
|
|
Trace.TraceError(fmt, vars);
|
|
}
|
|
|
|
public void Error(Exception exception, string fmt, params object[] vars)
|
|
{
|
|
Trace.TraceError(FormatExceptionMessage(exception, fmt, vars));
|
|
}
|
|
|
|
public void TraceApi(string componentName, string method, TimeSpan timespan)
|
|
{
|
|
TraceApi(componentName, method, timespan, "");
|
|
}
|
|
|
|
public void TraceApi(string componentName, string method, TimeSpan timespan, string fmt, params object[] vars)
|
|
{
|
|
TraceApi(componentName, method, timespan, string.Format(fmt, vars));
|
|
}
|
|
public void TraceApi(string componentName, string method, TimeSpan timespan, string properties)
|
|
{
|
|
string message = String.Concat("Component:", componentName, ";Method:", method, ";Timespan:", timespan.ToString(), ";Properties:", properties);
|
|
Trace.TraceInformation(message);
|
|
}
|
|
|
|
private static string FormatExceptionMessage(Exception exception, string fmt, object[] vars)
|
|
{
|
|
// Simple exception formatting: for a more comprehensive version see
|
|
// http://code.msdn.microsoft.com/windowsazure/Fix-It-app-for-Building-cdd80df4
|
|
var sb = new StringBuilder();
|
|
sb.Append(string.Format(fmt, vars));
|
|
sb.Append(" Exception: ");
|
|
sb.Append(exception.ToString());
|
|
return sb.ToString();
|
|
}
|
|
}
|
|
} |