Sic04/FrameworkLocal/UIClient/Caliburn.Micro/Core/DebugLog.cs

48 lines
1.6 KiB
C#

#define DEBUG
namespace Caliburn.Micro.Core {
using System;
using System.Diagnostics;
/// <summary>
/// A simple logger thats logs everything to the debugger.
/// </summary>
public class DebugLog : ILog {
private readonly string typeName;
/// <summary>
/// Initializes a new instance of the <see cref="DebugLog"/> class.
/// </summary>
/// <param name="type">The type.</param>
public DebugLog(Type type) {
typeName = type.FullName;
}
/// <summary>
/// Logs the message as info.
/// </summary>
/// <param name="format">A formatted message.</param>
/// <param name="args">Parameters to be injected into the formatted message.</param>
public void Info(string format, params object[] args) {
Debug.WriteLine("[{1}] INFO: {0}", string.Format(format, args), typeName);
}
/// <summary>
/// Logs the message as a warning.
/// </summary>
/// <param name="format">A formatted message.</param>
/// <param name="args">Parameters to be injected into the formatted message.</param>
public void Warn(string format, params object[] args) {
Debug.WriteLine("[{1}] WARN: {0}", string.Format(format, args), typeName);
}
/// <summary>
/// Logs the exception.
/// </summary>
/// <param name="exception">The exception.</param>
public void Error(Exception exception) {
Debug.WriteLine("[{1}] ERROR: {0}", exception, typeName);
}
}
}