public PMSLogger(string reference, Action<LogItem> onLogCallback, [CallerMemberName] string caller = "")
 {
     _onLog = onLogCallback;
     Reference = reference;
     Header = new LogHeader(caller);
 }
 public LogItem(LogHeader header, string message, string reference, Exception e, LogLevel logLevel, LogLevel originalLogLevel, object parameters, object knownSolution, string fileName, int lineNumber)
 {
     Header = header;
     Message = message;
     Reference = reference;
     Exception = e;
     LogLevel = logLevel;
     OriginalLogLevel = originalLogLevel;
     Parameters = parameters;
     KnownSolution = knownSolution;
     File = fileName;
     LineNumber = lineNumber;
 }