예제 #1
0
 /// <summary>
 /// Builds a new result issue.
 /// </summary>
 /// <param name="message">Message identifying the issue.</param>
 /// <param name="level">Severity of the issue.</param>
 /// <param name="issueCode">A unique, identifying code to be associated with the issue.</param>
 protected internal ResultIssue(string message, ResultIssueLevels level, long issueCode = NonIssueCode)
 {
     Message   = message ?? string.Empty;
     Level     = level;
     Date      = DateTime.Now;
     IssueCode = issueCode;
 }
예제 #2
0
        protected virtual OmniColours GetColour(ResultIssueLevels level)
        {
            switch (level)
            {
            case ResultIssueLevels.Warning:
                return(OmniColours.BrightYellow);

            case ResultIssueLevels.Error:
                return(OmniColours.BrightRed);

            case ResultIssueLevels.Fatal:
                return(OmniColours.BrightMagenta);

            case ResultIssueLevels.Info:
                return(OmniColours.BrightGreen);

            case ResultIssueLevels.Trace:
                return(OmniColours.Blue);

            case ResultIssueLevels.Debug:
                return(OmniColours.BrightBlue);

            default:
                return(OmniColours.White);
            }
        }
예제 #3
0
        protected static LoggingResult SingleResult(ResultIssueLevels level, long issueCode, string format,
                                                    params object[] parameters)
        {
            string message;

            try
            {
                message = string.Format(format, parameters);
            }
            catch
            {
                message = format;
            }

            return(SingleResult(level, issueCode, message));
        }
        private static Result SingleResult(ResultIssueLevels level, long issueCode, string message, params object[] parameters)
        {
            string msgFormat;
            Result formatResult;

            try
            {
                msgFormat = parameters == null || !parameters.Any()
          ? message
          : string.Format(message, parameters);

                formatResult = Success;
            }
            catch (Exception e)
            {
                msgFormat    = message;
                formatResult = SingleWarning("Failed to format message '{0}'.", message) + Error(e);
            }

            var singleResult = new Result(new ResultIssue(msgFormat, level, issueCode));

            return(Concat(formatResult, singleResult));
        }
예제 #5
0
 protected static LoggingResult SingleResult(ResultIssueLevels level, long issueCode, IColourMessage message)
 {
     return(new LoggingResult(new LoggingIssue(message, level, issueCode)));
 }
예제 #6
0
 protected static LoggingResult SingleResult(ResultIssueLevels level, long issueCode, string message)
 {
     return(SingleResult(level, issueCode, HLogging.Message.Append(message)));
 }
예제 #7
0
 protected internal IssueInternal(string message, ResultIssueLevels level, long issueCode = 0) : base(message, level, issueCode)
 {
 }
예제 #8
0
 protected internal LoggingIssue(IColourMessage message, ResultIssueLevels level, long issueCode = 0)
     : base(BuildMessage(message), level, issueCode)
 {
     _colourMessage = message;
 }
예제 #9
0
 public ResultException(ResultIssue issue, Exception inner) : this(ExtractMessage(issue), inner)
 {
     Level = issue == null ? ResultIssueLevels.Unknown : issue.Level;
 }