(no message)

Spegeli [2016-07-22 01:32:05]

Filename
PokemonGo.RocketAPI/Logging/ConsoleLogger.cs
PokemonGo.RocketAPI/Logging/ILogger.cs
diff --git a/PokemonGo.RocketAPI/Logging/ConsoleLogger.cs b/PokemonGo.RocketAPI/Logging/ConsoleLogger.cs
new file mode 100644
index 0000000..de9ddc5
--- /dev/null
+++ b/PokemonGo.RocketAPI/Logging/ConsoleLogger.cs
@@ -0,0 +1,35 @@
+using System;
+
+namespace PokemonGo.RocketAPI.Logging
+{
+	/// <summary>
+	/// The ConsoleLogger is a simple logger which writes all logs to the Console.
+	/// </summary>
+	public class ConsoleLogger : ILogger
+	{
+		private LogLevel maxLogLevel;
+
+		/// <summary>
+		/// To create a ConsoleLogger, we must define a maximum log level.
+		/// All levels above won't be logged.
+		/// </summary>
+		/// <param name="maxLogLevel"></param>
+		public ConsoleLogger(LogLevel maxLogLevel)
+		{
+			this.maxLogLevel = maxLogLevel;
+		}
+
+		/// <summary>
+		/// Log a specific message by LogLevel. Won't log if the LogLevel is greater than the maxLogLevel set.
+		/// </summary>
+		/// <param name="message">The message to log. The current time will be prepended.</param>
+		/// <param name="level">Optional. Default <see cref="LogLevel.Info"/>.</param>
+		public void Write(string message, LogLevel level = LogLevel.Info)
+		{
+			if (level > maxLogLevel)
+				return;
+
+			Console.WriteLine($"[{ DateTime.Now.ToString("HH:mm:ss")}] { message}");
+		}
+	}
+}
\ No newline at end of file
diff --git a/PokemonGo.RocketAPI/Logging/ILogger.cs b/PokemonGo.RocketAPI/Logging/ILogger.cs
new file mode 100644
index 0000000..d262cea
--- /dev/null
+++ b/PokemonGo.RocketAPI/Logging/ILogger.cs
@@ -0,0 +1,15 @@
+namespace PokemonGo.RocketAPI.Logging
+{
+	/// <summary>
+	/// All loggers must implement this interface.
+	/// </summary>
+	public interface ILogger
+	{
+		/// <summary>
+		/// Log a specific message by LogLevel.
+		/// </summary>
+		/// <param name="message">The message to log.</param>
+		/// <param name="level">Optional. Default <see cref="LogLevel.Info"/>.</param>
+		void Write(string message, LogLevel level = LogLevel.Info);
+	}
+}
\ No newline at end of file
You may download the files in Public Git.