示例#1
0
        /// <summary>
        /// Reports the specified rollbar logger.
        /// </summary>
        /// <param name="rollbarLogger">The rollbar logger.</param>
        /// <param name="dataObject">The data object.</param>
        /// <param name="rollbarError">The rollbar error.</param>
        /// <param name="message">The message.</param>
        /// <param name="exception">The exception.</param>
        /// <param name="errorCollector">The error collector.</param>
        public static void Report(
            IRollbar?rollbarLogger,
            object?dataObject,
            InternalRollbarError rollbarError,
            string?message,
            Exception?exception,
            IErrorCollector?errorCollector
            )
        {
            var rollbarException = new RollbarException(rollbarError, message ?? rollbarError.ToString(), exception);

            errorCollector?.Register(rollbarException);

            var rollbarEvent = new InternalErrorEventArgs(rollbarLogger, dataObject, rollbarException, rollbarException.Message);


            if (rollbarLogger is RollbarLogger specificRollbarLogger)
            {
                specificRollbarLogger.OnRollbarEvent(rollbarEvent);
            }
            else
            {
                RollbarQueueController.Instance?.OnRollbarEvent(rollbarEvent);
            }
        }
示例#2
0
 /// <summary>
 /// Validates the specified validatable.
 /// </summary>
 /// <param name="validatable">The validatable.</param>
 /// <param name="errorTag">The error tag.</param>
 /// <param name="errorMessage">The error message.</param>
 public static void Validate(IValidatable?validatable, InternalRollbarError errorTag, string?errorMessage)
 {
     if (validatable != null)
     {
         var result = validatable.Validate();
         if (result != null && result.Count > 0)
         {
             if (string.IsNullOrWhiteSpace(errorMessage))
             {
                 errorMessage = $"{errorTag}.";
             }
             errorMessage = $"{errorMessage}. See Data property of this exception for validation details.";
             RollbarException exception = new(errorTag, errorMessage);
             exception.Data[errorTag] = result;
             throw exception;
         }
     }
 }
        /// <summary>
        /// Reports the specified rollbar logger.
        /// </summary>
        /// <param name="rollbarLogger">The rollbar logger.</param>
        /// <param name="dataObject">The data object.</param>
        /// <param name="rollbarError">The rollbar error.</param>
        /// <param name="message">The message.</param>
        /// <param name="exception">The exception.</param>
        public static void Report(
            RollbarLogger rollbarLogger,
            object dataObject,
            InternalRollbarError rollbarError,
            string message,
            Exception exception
            )
        {
            var rollbarException = new RollbarException(rollbarError, message ?? rollbarError.ToString(), exception);
            var rollbarEvent     = new InternalErrorEventArgs(rollbarLogger, dataObject, rollbarException, rollbarException.Message);

            if (rollbarLogger != null)
            {
                rollbarLogger.OnRollbarEvent(rollbarEvent);
            }
            else
            {
                RollbarQueueController.Instance.OnRollbarEvent(rollbarEvent);
            }
        }
示例#4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="RollbarException" /> class.
 /// </summary>
 /// <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"></see> that holds the serialized object data about the exception being thrown.</param>
 /// <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"></see> that contains contextual information about the source or destination.</param>
 protected RollbarException(SerializationInfo info, StreamingContext context)
     : base(info, context)
 {
     this._rollbarError =
         (InternalRollbarError)(info.GetValue(nameof(this._rollbarError), typeof(InternalRollbarError)) ?? InternalRollbarError.GeneralError);
 }
示例#5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="RollbarException" /> class.
 /// </summary>
 /// <param name="rollbarError">The rollbar error.</param>
 /// <param name="message">The message.</param>
 /// <param name="innerException">The inner exception.</param>
 internal RollbarException(InternalRollbarError rollbarError, string?message, Exception?innerException)
     : base(!string.IsNullOrWhiteSpace(message) ? message : rollbarError.ToString(), innerException)
 {
     this._rollbarError = rollbarError;
 }
示例#6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="RollbarException"/> class.
 /// </summary>
 /// <param name="rollbarError">The rollbar error.</param>
 /// <param name="innerException">The inner exception.</param>
 internal RollbarException(InternalRollbarError rollbarError, Exception?innerException)
     : this(rollbarError, rollbarError.ToString(), innerException)
 {
 }
示例#7
0
 /// <summary>
 /// Initializes a new instance of the <see cref="RollbarException" /> class.
 /// </summary>
 /// <param name="rollbarError">The rollbar error.</param>
 internal RollbarException(InternalRollbarError rollbarError)
     : this(rollbarError, rollbarError.ToString())
 {
 }
示例#8
0
 /// <summary>
 /// Initializes a new instance of the <see cref="RollbarException" /> class.
 /// </summary>
 /// <param name="rollbarError">The rollbar error.</param>
 /// <param name="message">The message.</param>
 /// <param name="innerException">The inner exception.</param>
 internal RollbarException(InternalRollbarError rollbarError, string message, Exception innerException)
     : base(message, innerException)
 {
     this._rollbarError = rollbarError;
 }
示例#9
0
 /// <summary>
 /// Initializes a new instance of the <see cref="RollbarException"/> class.
 /// </summary>
 /// <param name="rollbarError">The rollbar error.</param>
 /// <param name="message">The message.</param>
 internal RollbarException(InternalRollbarError rollbarError, string message)
     : base(message)
 {
     this._rollbarError = rollbarError;
 }