using System;
namespace ServiceStack.Logging.Support.Logging
{
///
/// Default logger is to Console.WriteLine
///
/// Made public so its testable
///
public class ConsoleLogger : ILog
{
const string DEBUG = "DEBUG: ";
const string ERROR = "ERROR: ";
const string FATAL = "FATAL: ";
const string INFO = "INFO: ";
const string WARN = "WARN: ";
///
/// Initializes a new instance of the class.
///
/// The type.
public ConsoleLogger(string type)
{
}
///
/// Initializes a new instance of the class.
///
/// The type.
public ConsoleLogger(Type type)
{
}
#region ILog Members
public bool IsDebugEnabled { get { return true; } }
///
/// Logs the specified message.
///
/// The message.
/// The exception.
private static void Log(object message, Exception exception)
{
string msg = message == null ? string.Empty : message.ToString();
if (exception != null)
{
msg += ", Exception: " + exception.Message;
}
Console.WriteLine(msg);
}
///
/// Logs the format.
///
/// The message.
/// The args.
private static void LogFormat(object message, params object[] args)
{
string msg = message == null ? string.Empty : message.ToString();
Console.WriteLine(msg, args);
}
///
/// Logs the specified message.
///
/// The message.
private static void Log(object message)
{
string msg = message == null ? string.Empty : message.ToString();
Console.WriteLine(msg);
}
public void Debug(object message, Exception exception)
{
Log(DEBUG + message, exception);
}
public void Debug(object message)
{
Log(DEBUG + message);
}
public void DebugFormat(string format, params object[] args)
{
LogFormat(DEBUG + format, args);
}
public void Error(object message, Exception exception)
{
Log(ERROR + message, exception);
}
public void Error(object message)
{
Log(ERROR + message);
}
public void ErrorFormat(string format, params object[] args)
{
LogFormat(ERROR + format, args);
}
public void Fatal(object message, Exception exception)
{
Log(FATAL + message, exception);
}
public void Fatal(object message)
{
Log(FATAL + message);
}
public void FatalFormat(string format, params object[] args)
{
LogFormat(FATAL + format, args);
}
public void Info(object message, Exception exception)
{
Log(INFO + message, exception);
}
public void Info(object message)
{
Log(INFO + message);
}
public void InfoFormat(string format, params object[] args)
{
LogFormat(INFO + format, args);
}
public void Warn(object message, Exception exception)
{
Log(WARN + message, exception);
}
public void Warn(object message)
{
Log(WARN + message);
}
public void WarnFormat(string format, params object[] args)
{
LogFormat(WARN + format, args);
}
#endregion
}
}