diff --git a/csharp/Lib/Logging/Log.cs b/csharp/Lib/Logging/Log.cs new file mode 100644 index 000000000..7a532924b --- /dev/null +++ b/csharp/Lib/Logging/Log.cs @@ -0,0 +1,30 @@ +using System.Reactive.Concurrency; +using System.Reactive.Linq; +using System.Reactive.Subjects; + +namespace InnovEnergy.Lib.Logging; + +public static class Logger +{ + private static readonly Subject Subject = new Subject(); + + public static IObservable Messages { get; } = Subject.ObserveOn(TaskPoolScheduler.Default); + + + public static void Log(String message, Dictionary properties, params String[] tags) + { + var t = new HashSet(tags); + Log(message, properties, t); + } + + private static void Log(String message, Dictionary properties, HashSet tags) + { + var logMessage = new LogMessage(message, tags, properties); + Subject.OnNext(logMessage); + } + + + + + +} \ No newline at end of file diff --git a/csharp/Lib/Logging/Logging.csproj b/csharp/Lib/Logging/Logging.csproj new file mode 100644 index 000000000..279fa8e59 --- /dev/null +++ b/csharp/Lib/Logging/Logging.csproj @@ -0,0 +1,16 @@ + + + + + + + + + + + + +