Beispiel #1
0
        public void Error(string message, Exception e)
        {
            if (!_isEnabled)
            {
                return;
            }

            RequestInfo requestInfo   = null;
            var         messageObject = new
            {
                Application          = string.Empty,
                Message              = string.Empty,
                StackTrace           = string.Empty,
                InnerExceptionString = new Exception(),
                RequestInfo          = requestInfo,
            };

            if (e is MarketplaceWebServiceException mwsWebServiceException)
            {
                requestInfo = new RequestInfo(
                    mwsWebServiceException.ResponseHeaderMetadata?.Timestamp,
                    mwsWebServiceException.RequestId,
                    mwsWebServiceException.StatusCode,
                    mwsWebServiceException.ErrorType,
                    mwsWebServiceException.ErrorCode);

                messageObject = new
                {
                    Application          = "EasyMws",
                    Message              = message,
                    StackTrace           = e.StackTrace,
                    InnerExceptionString = e.InnerException,
                    RequestInfo          = requestInfo
                };
            }
            else
            {
                messageObject = new
                {
                    Application          = "EasyMws",
                    Message              = $"{message} {e.Message}",
                    StackTrace           = e.StackTrace,
                    InnerExceptionString = e.InnerException,
                    RequestInfo          = requestInfo
                };
            }


            var eventArgs = new LogAvailableEventArgs(LogLevel.Error, $"{JsonConvert.SerializeObject(messageObject, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, Formatting = Formatting.None })}", e)
            {
                RequestInfo = requestInfo
            };

            EventHandler <LogAvailableEventArgs> handler = LogAvailable;

            handler?.Invoke(this, eventArgs);
        }
Beispiel #2
0
        public void Log(LogLevel level, string message, RequestInfo requestInfo = null, Exception ex = null)
        {
            if (!_isEnabled)
            {
                return;
            }

            var messageObject = new
            {
                Application = "EasyMws",
                Message     = message,
                RequestInfo = requestInfo
            };

            LogAvailableEventArgs eventArgs;

            if (ex == null)
            {
                eventArgs = new LogAvailableEventArgs(level,
                                                      $"{JsonConvert.SerializeObject(messageObject, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, Formatting = Formatting.None })}")
                {
                    RequestInfo = requestInfo
                };
            }
            else
            {
                eventArgs = new LogAvailableEventArgs(level,
                                                      $"{JsonConvert.SerializeObject(messageObject, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, Formatting = Formatting.None })}", ex)
                {
                    RequestInfo = requestInfo
                };
            }

            EventHandler <LogAvailableEventArgs> handler = LogAvailable;

            handler?.Invoke(this, eventArgs);
        }