(no message)
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.