aboutsummaryrefslogtreecommitdiff
path: root/Tools/Hazel-Networking/Hazel/UPnP/ILogger.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/Hazel-Networking/Hazel/UPnP/ILogger.cs')
-rw-r--r--Tools/Hazel-Networking/Hazel/UPnP/ILogger.cs65
1 files changed, 65 insertions, 0 deletions
diff --git a/Tools/Hazel-Networking/Hazel/UPnP/ILogger.cs b/Tools/Hazel-Networking/Hazel/UPnP/ILogger.cs
new file mode 100644
index 0000000..3c7abcf
--- /dev/null
+++ b/Tools/Hazel-Networking/Hazel/UPnP/ILogger.cs
@@ -0,0 +1,65 @@
+using System;
+
+namespace Hazel
+{
+ public interface ILogger
+ {
+ void WriteVerbose(string msg);
+ void WriteError(string msg);
+ void WriteWarning(string msg);
+ void WriteInfo(string msg);
+ }
+
+ public class NullLogger : ILogger
+ {
+ public static readonly NullLogger Instance = new NullLogger();
+
+ public void WriteVerbose(string msg)
+ {
+ }
+
+ public void WriteError(string msg)
+ {
+ }
+
+ public void WriteWarning(string msg)
+ {
+ }
+
+ public void WriteInfo(string msg)
+ {
+ }
+ }
+
+ public class ConsoleLogger : ILogger
+ {
+ private bool verbose;
+ public ConsoleLogger(bool verbose)
+ {
+ this.verbose = verbose;
+ }
+
+ public void WriteVerbose(string msg)
+ {
+ if (this.verbose)
+ {
+ Console.WriteLine($"{DateTime.Now} [VERBOSE] {msg}");
+ }
+ }
+
+ public void WriteWarning(string msg)
+ {
+ Console.WriteLine($"{DateTime.Now} [WARN] {msg}");
+ }
+
+ public void WriteError(string msg)
+ {
+ Console.WriteLine($"{DateTime.Now} [ERROR] {msg}");
+ }
+
+ public void WriteInfo(string msg)
+ {
+ Console.WriteLine($"{DateTime.Now} [INFO] {msg}");
+ }
+ }
+}