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 } }