Ejemplo n.º 1
0
        public void Publish(MqttNetLogLevel logLevel,
                            string source,
                            string message, object[] parameters, System.Exception?exception)
        {
            LogEventInfo logEventInfo = new();

            switch (logLevel)
            {
            case MqttNetLogLevel.Verbose:
                return;

            case MqttNetLogLevel.Info:
                logEventInfo.Level = LogLevel.Info;
                break;

            case MqttNetLogLevel.Warning:
                logEventInfo.Level = LogLevel.Warn;
                break;

            case MqttNetLogLevel.Error:
                logEventInfo.Level = LogLevel.Error;
                break;
            }

            logEventInfo.Exception  = exception;
            logEventInfo.TimeStamp  = DateTime.Now;
            logEventInfo.Message    = $"{source} {message}";
            logEventInfo.Parameters = parameters;

            logger.Log(logEventInfo);
        }
Ejemplo n.º 2
0
        public void Publish(
            MqttNetLogLevel logLevel,
            string?source,
            string message,
            object[]?parameters,
            Exception?exception)
        {
            switch (logLevel)
            {
            case MqttNetLogLevel.Verbose:
                _logger.LogMqttClientVerbose(source, message, parameters, exception);
                break;

            case MqttNetLogLevel.Info:
                _logger.LogMqttClientInformation(source, message, parameters, exception);
                break;

            case MqttNetLogLevel.Warning:
                _logger.LogMqttClientWarning(source, message, parameters, exception);
                break;

            case MqttNetLogLevel.Error:
                _logger.LogMqttClientError(source, message, parameters, exception);
                break;

            default:
                throw new InvalidOperationException("Unexpected MqttNetLogLevel");
            }
        }
Ejemplo n.º 3
0
        public void Publish(MqttNetLogLevel logLevel, string source, string message, object[] parameters, Exception exception)
        {
            var hasLocalListeners  = LogMessagePublished != null;
            var hasGlobalListeners = MqttNetGlobalLogger.HasListeners;

            if (!hasLocalListeners && !hasGlobalListeners)
            {
                return;
            }

            if (parameters?.Length > 0)
            {
                try
                {
                    message = string.Format(message, parameters);
                }
                catch
                {
                    message = "MESSAGE FORMAT INVALID: " + message;
                }
            }

            var traceMessage = new MqttNetLogMessage(_logId, DateTime.UtcNow, Environment.CurrentManagedThreadId, source, logLevel, message, exception);

            if (hasGlobalListeners)
            {
                MqttNetGlobalLogger.Publish(traceMessage);
            }

            if (hasLocalListeners)
            {
                LogMessagePublished?.Invoke(this, new MqttNetLogMessagePublishedEventArgs(traceMessage));
            }
        }
Ejemplo n.º 4
0
        public void Publish(MqttNetLogLevel logLevel, string source, string message, object[] parameters, Exception exception)
        {
            switch (logLevel)
            {
            case MqttNetLogLevel.Verbose:
                _logger.LogDebug(message, parameters);
                break;

            case MqttNetLogLevel.Info:
                _logger.LogInformation(message, parameters);
                break;

            case MqttNetLogLevel.Warning:
                _logger.LogWarning(exception, message, parameters);
                break;

            case MqttNetLogLevel.Error:
                _logger.LogError(exception, message, parameters);
                break;

            default:
                _logger.LogDebug(message, parameters);
                break;
            }
        }
Ejemplo n.º 5
0
        public void Publish(MqttNetLogLevel logLevel, string source, string message, object[] parameters, Exception exception)
        {
            var newLogLevel = LogLevel.Debug;

            if (logLevel == MqttNetLogLevel.Warning)
            {
                newLogLevel = LogLevel.Warning;
            }
            else if (logLevel == MqttNetLogLevel.Error)
            {
                newLogLevel = LogLevel.Error;
            }
            else if (logLevel == MqttNetLogLevel.Info)
            {
                newLogLevel = LogLevel.Information;
            }
            else if (logLevel == MqttNetLogLevel.Verbose)
            {
                newLogLevel = LogLevel.Trace;
            }

            _logger.Log(newLogLevel, source, exception, message, parameters);

            LogMessagePublished?.Invoke(this, new MqttNetLogMessagePublishedEventArgs(null));
        }
Ejemplo n.º 6
0
    public void Publish(MqttNetLogLevel logLevel, string source, string message, object[] parameters, Exception exception)
    {
        LogLevel level;

        switch (logLevel)
        {
        case MqttNetLogLevel.Verbose:
            level = LogLevel.Trace;
            break;

        case MqttNetLogLevel.Info:
            level = LogLevel.Information;
            break;

        case MqttNetLogLevel.Warning:
            level = LogLevel.Warning;
            break;

        case MqttNetLogLevel.Error:
            level = LogLevel.Error;
            break;

        default:
            throw new ArgumentOutOfRangeException(nameof(logLevel), logLevel, null);
        }

        _logger.Log(level, exception, message, parameters);
    }
Ejemplo n.º 7
0
        private void Publish <TSource>(MqttNetLogLevel logLevel, Exception exception, string message, object[] parameters)
        {
            var hasLocalListeners  = LogMessagePublished != null;
            var hasGlobalListeners = MqttNetGlobalLog.HasListeners;

            if (!hasLocalListeners && !hasGlobalListeners)
            {
                return;
            }

            if (parameters.Length > 0)
            {
                message = string.Format(message, parameters);
            }

            var traceMessage = new MqttNetLogMessage(_logId, DateTime.Now, Environment.CurrentManagedThreadId, typeof(TSource).Name, logLevel, message, exception);

            if (hasGlobalListeners)
            {
                MqttNetGlobalLog.Publish(traceMessage);
            }

            if (hasLocalListeners)
            {
                LogMessagePublished?.Invoke(this, new MqttNetLogMessagePublishedEventArgs(traceMessage));
            }
        }
 public void Publish(MqttNetLogLevel logLevel, string message, object[] parameters, Exception exception)
 {
     Console.WriteLine($"Publish:{logLevel},'{string.Format(message, parameters)}'");
     if (exception != null)
     {
         Console.WriteLine($"Publish ERROR: {exception.Message}");
     }
 }
Ejemplo n.º 9
0
 public void Publish(MqttNetLogLevel logLevel, string message, object[] parameters, Exception exception)
 {
     LogMessagePublished?.Invoke(this, new MqttNetLogMessagePublishedEventArgs(new MqttNetLogMessage
     {
         Level   = logLevel,
         Message = message
     }));
 }
Ejemplo n.º 10
0
 public void Publish(MqttNetLogLevel logLevel, string source, string message, object[] parameters, Exception exception)
 {
     LogMessagePublished?.Invoke(this, new MqttNetLogMessagePublishedEventArgs(new MqttNetLogMessage
     {
         Level     = logLevel,
         Message   = string.Format(message, parameters),
         Exception = exception
     }));
 }
Ejemplo n.º 11
0
 public MqttNetLogMessage(string logId, DateTime timestamp, int threadId, string source, MqttNetLogLevel level, string message, Exception exception)
 {
     LogId     = logId;
     Timestamp = timestamp;
     ThreadId  = threadId;
     Source    = source;
     Level     = level;
     Message   = message;
     Exception = exception;
 }
Ejemplo n.º 12
0
        public void Publish(MqttNetLogLevel logLevel, string source, string message, object[] parameters, Exception exception)
        {
            var convertedLogLevel = ConvertLogLevel(logLevel);

            _logger.Log(convertedLogLevel, exception, message, parameters);

            var logMessagePublishedEvent = LogMessagePublished;

            if (logMessagePublishedEvent != null)
            {
                var logMessage = new MqttNetLogMessage(null, DateTime.UtcNow, Thread.CurrentThread.ManagedThreadId, source, logLevel, message, exception);
                logMessagePublishedEvent.Invoke(this, new MqttNetLogMessagePublishedEventArgs(logMessage));
            }
        }
Ejemplo n.º 13
0
        private static LogLevel ConvertLogLevel(MqttNetLogLevel logLevel)
        {
            switch (logLevel)
            {
            case MqttNetLogLevel.Error: return(LogLevel.Error);

            case MqttNetLogLevel.Warning: return(LogLevel.Warning);

            case MqttNetLogLevel.Info: return(LogLevel.Information);

            case MqttNetLogLevel.Verbose: return(LogLevel.Debug);
            }

            return(LogLevel.Debug);
        }
Ejemplo n.º 14
0
        public void Publish(MqttNetLogLevel level, string source, string message, object[] parameters, Exception exception)
        {
            var hasLocalListeners  = LogMessagePublished != null;
            var hasGlobalListeners = MqttNetGlobalLogger.HasListeners;

            if (!hasLocalListeners && !hasGlobalListeners)
            {
                return;
            }

            try
            {
                message = string.Format(message ?? string.Empty, parameters);
            }
            catch (FormatException)
            {
                message = "MESSAGE FORMAT INVALID: " + message;
            }


            var logMessage = new MqttNetLogMessage
            {
                LogId     = _logId,
                Timestamp = DateTime.UtcNow,
                Source    = source,
                ThreadId  =
#if NET40
                    Thread.CurrentThread.ManagedThreadId,
#else
                    Environment.CurrentManagedThreadId,
#endif
                Level     = level,
                Message   = message,
                Exception = exception
            };

            if (hasGlobalListeners)
            {
                MqttNetGlobalLogger.Publish(logMessage);
            }

            if (hasLocalListeners)
            {
                LogMessagePublished?.Invoke(this, new MqttNetLogMessagePublishedEventArgs(logMessage));
            }
        }
    }
Ejemplo n.º 15
0
        public void Publish(MqttNetLogLevel level, string message, object[] parameters, Exception exception)
        {
            var hasLocalListeners  = LogMessagePublished != null;
            var hasGlobalListeners = MqttNetGlobalLogger.HasListeners;

            if (!hasLocalListeners && !hasGlobalListeners && _parentLogger == null)
            {
                return;
            }

            if (parameters?.Length > 0)
            {
                try
                {
                    message = string.Format(message, parameters);
                }
                catch
                {
                    message = "MESSAGE FORMAT INVALID: " + message;
                }
            }

            var logMessage = new MqttNetLogMessage
            {
                LogId     = _logId,
                Timestamp = DateTime.UtcNow,
                Source    = _source,
                ThreadId  = Environment.CurrentManagedThreadId,
                Level     = level,
                Message   = message,
                Exception = exception
            };

            if (hasGlobalListeners)
            {
                MqttNetGlobalLogger.Publish(logMessage);
            }

            if (hasLocalListeners)
            {
                LogMessagePublished?.Invoke(this, new MqttNetLogMessagePublishedEventArgs(logMessage));
            }

            _parentLogger?.Publish(logMessage);
        }
Ejemplo n.º 16
0
            private LogLevel ToMsLogging(MqttNetLogLevel level)
            {
                switch (level)
                {
                case MqttNetLogLevel.Verbose:
                    return(LogLevel.Trace);

                case MqttNetLogLevel.Info:
                    return(LogLevel.Information);

                case MqttNetLogLevel.Warning:
                    return(LogLevel.Warning);

                case MqttNetLogLevel.Error:
                    return(LogLevel.Error);

                default:
                    return(LogLevel.None);
                }
            }
Ejemplo n.º 17
0
        private LogLevel GetLogLevel(MqttNetLogLevel logLevel)
        {
            switch (logLevel)
            {
            case MqttNetLogLevel.Verbose:
                return(LogLevel.Trace);

            case MqttNetLogLevel.Info:
                return(LogLevel.Information);

            case MqttNetLogLevel.Warning:
                return(LogLevel.Warning);

            case MqttNetLogLevel.Error:
                return(LogLevel.Error);

            default:
                return(LogLevel.Critical);
            }
        }
Ejemplo n.º 18
0
        public void Publish(MqttNetLogLevel logLevel, string message, object[] parameters, Exception exception)
        {
            switch (logLevel)
            {
            case MqttNetLogLevel.Verbose:
                log.Verbose(message);
                break;

            case MqttNetLogLevel.Info:
                log.Information(message);
                break;

            case MqttNetLogLevel.Warning:
                log.Warning(message);
                break;

            case MqttNetLogLevel.Error:
                log.Error(exception, message);
                break;
            }
        }
Ejemplo n.º 19
0
        public void Publish(MqttNetLogLevel level, string source, string message, object[] parameters, Exception exception)
        {
            var eventHandler = LogMessagePublished;

            if (eventHandler == null)
            {
                // No listener is attached so we can step out.
                // Keep a reference to the handler because the handler
                // might be null after preparing the message.
                return;
            }

            if (parameters?.Length > 0 && message?.Length > 0)
            {
                try
                {
                    message = string.Format(message, parameters);
                }
                catch (FormatException)
                {
                    message = "MESSAGE FORMAT INVALID: " + message;
                }
            }

            // We only use UTC here to improve performance. Using a local date time
            // would require to load the time zone settings!
            var logMessage = new MqttNetLogMessage
            {
                LogId     = LogId,
                Timestamp = DateTime.UtcNow,
                Source    = source,
                ThreadId  = Environment.CurrentManagedThreadId,
                Level     = level,
                Message   = message,
                Exception = exception
            };

            eventHandler.Invoke(this, new MqttNetLogMessagePublishedEventArgs(logMessage));
        }
Ejemplo n.º 20
0
        public void Publish(MqttNetLogLevel logLevel, string source, string message, object[]?parameters, Exception?exception)
        {
            var foregroundColor = ConsoleColor.White;

            switch (logLevel)
            {
            case MqttNetLogLevel.Verbose:
                foregroundColor = ConsoleColor.White;
                break;

            case MqttNetLogLevel.Info:
                foregroundColor = ConsoleColor.Green;
                break;

            case MqttNetLogLevel.Warning:
                foregroundColor = ConsoleColor.DarkYellow;
                break;

            case MqttNetLogLevel.Error:
                foregroundColor = ConsoleColor.Red;
                break;
            }

            if (parameters?.Length > 0)
            {
                message = string.Format(message, parameters);
            }

            lock (_consoleSyncRoot)
            {
                Console.ForegroundColor = foregroundColor;
                Console.WriteLine(message);

                if (exception != null)
                {
                    Console.WriteLine(exception);
                }
            }
        }
Ejemplo n.º 21
0
        public void Publish(MqttNetLogLevel logLevel, string source, string message, object[] parameters, Exception exception)
        {
            var level = GetLogLevel(logLevel);

            logger.Log(level, exception, message, parameters);
            var logMessagePublished = LogMessagePublished;

            if (logMessagePublished != null)
            {
                var logMessage = new MqttNetLogMessage
                {
                    LogId     = "DataTransmitter",
                    Timestamp = DateTime.UtcNow,
                    Source    = source,
                    ThreadId  = Environment.CurrentManagedThreadId,
                    Level     = logLevel,
                    Message   = message,
                    Exception = exception
                };
                logMessagePublished.Invoke(this, new MqttNetLogMessagePublishedEventArgs(logMessage));
            }
        }
Ejemplo n.º 22
0
        public void Publish(MqttNetLogLevel logLevel, string message, object[] parameters, Exception exception)
        {
            var newLogLevel = LogLevel.Debug;

            if (logLevel == MqttNetLogLevel.Warning)
            {
                newLogLevel = LogLevel.Warning;
            }
            else if (logLevel == MqttNetLogLevel.Error)
            {
                newLogLevel = LogLevel.Error;
            }
            else if (logLevel == MqttNetLogLevel.Info)
            {
                newLogLevel = LogLevel.Information;
            }
            else if (logLevel == MqttNetLogLevel.Verbose)
            {
                newLogLevel = LogLevel.Trace;
            }

            _logger.Log(newLogLevel, exception, message, parameters);
        }
Ejemplo n.º 23
0
        public void Publish(MqttNetLogLevel logLevel, string source, string message, object[] parameters, Exception exception)
        {
            LogLevel loggerLogLevel = LogLevel.None;

            switch (logLevel)
            {
            case MqttNetLogLevel.Error:
                loggerLogLevel = LogLevel.Error;
                break;

            case MqttNetLogLevel.Info:
                loggerLogLevel = LogLevel.Information;
                break;

            case MqttNetLogLevel.Verbose:
                loggerLogLevel = LogLevel.Trace;
                break;

            case MqttNetLogLevel.Warning:
                loggerLogLevel = LogLevel.Warning;
                break;
            }
            Logger.Log(loggerLogLevel, new EventId(), message, exception, (x, y) => $"{string.Format(x, parameters)}: {y?.Message}");
        }
Ejemplo n.º 24
0
 public void Publish(MqttNetLogLevel logLevel, string message, object[] parameters, Exception exception)
 {
     _logger.Publish(logLevel, _source, message, parameters, exception);
 }
 public void Publish(MqttNetLogLevel logLevel, string message, object[] parameters, Exception exception)
 => _logger.Log(_logLevelMap[logLevel], exception, message, parameters);
Ejemplo n.º 26
0
 public void Publish(MqttNetLogLevel logLevel, string message, object[] parameters, System.Exception?exception)
 {
     Publish(logLevel, source, message, parameters, exception);
 }
Ejemplo n.º 27
0
 public void Publish(MqttNetLogLevel logLevel, string source, string message, object[] parameters, Exception exception)
 {
     // Forward the log message to other loggers.
     // 1. Convert log level to matching log level in target logger.
     // 2. Call target logger and pass data accordingly.
 }
Ejemplo n.º 28
0
 public void Publish(MqttNetLogLevel logLevel, string source, string message, object[] parameters, Exception exception)
 {
 }
Ejemplo n.º 29
0
 public void Publish(MqttNetLogLevel logLevel, string message, object[] parameters, Exception exception)
 {
     Publish(logLevel, null, message, parameters, exception);
 }
Ejemplo n.º 30
0
 public void Publish(MqttNetLogLevel logLevel, string source, string message, object[] parameters, Exception exception)
 {
     throw new NotImplementedException();
 }