Example #1
0
        private void Publish <TSource>(MqttNetLogLevel logLevel, Exception exception, string message, object[] parameters)
        {
            var hasLocalListeners  = LogMessagePublished != null;
            var hasGlobalListeners = MqttNetGlobalLogger.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)
            {
                MqttNetGlobalLogger.Publish(traceMessage);
            }

            if (hasLocalListeners)
            {
                LogMessagePublished?.Invoke(this, new MqttNetLogMessagePublishedEventArgs(traceMessage));
            }
        }
Example #2
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));
            }
        }
Example #3
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));
            }
        }
    }
Example #4
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);
        }