public IColourMessage Write(IColourMessage message) { foreach (var entry in message.Build()) { WriteEntry(Writer, entry); } Writer.SetDecoration(CurrentDecoration); return(message); }
protected virtual Result AppendIssue(IColourMessage message, ResultIssue issue) { Result append; if (!(append = AppendIssuePrefix(message, issue))) { return(append); } return(append + AppendIssueMessage(message, issue)); }
protected override Result LogMessage(IColourMessage message) { try { Writer.Write(message); return(Result.Success); } catch (Exception e) { return(Result.Error(e)); } }
protected virtual Result AppendTime(IColourMessage message, ResultIssue issue) { if (HasDecoration(LoggingDecorations.OmmitDate)) { return(Result.Success); } var format = ReadConfig(c => c.TimestampFormat, ConfigDefaults.TimestampFormat); message.AppendFormat("({0}) ", issue.Date.ToString(format)); return(Result.Success); }
protected override Result LogMessage(IColourMessage message) { try { var contents = message.BuildRaw(); NLog.Log(LogLevel.Info, contents); return(Result.Success); } catch (Exception e) { return(Result.Error(e)); } }
protected virtual Result AppendLevel(IColourMessage message, ResultIssue issue) { if (HasDecoration(LoggingDecorations.OmmitIssueLevel)) { return(Result.Success); } var colour = GetColour(issue.Level); message.Append("["); message.Append(colour, issue.Level.ToString()); if (issue.IssueCode > 0) { message.AppendFormat(": {0}", issue.IssueCode); } message.Append("] "); return(Result.Success); }
protected virtual Result AppendIssueMessage(IColourMessage message, ResultIssue issue) { try { LoggingIssue logIssue; IColourMessage logMessage; if ((logIssue = issue as LoggingIssue) == null || (logMessage = logIssue.ColourMessage) == null || HasDecoration(LoggingDecorations.OmmitColour)) { message.AppendLine(issue.Message); return(Result.Success); } message.Append(logMessage).Break(); return(Result.Success); } catch (Exception e) { return(Result.Error(e)); } }
/// <summary> /// Builds a single debug logging message. /// </summary> /// <param name="message">Message to be logged.</param> public static LoggingResult SingleDebug(IColourMessage message) { return(SingleDebug(LoggingIssue.NonIssueCode, message)); }
protected static LoggingResult SingleResult(ResultIssueLevels level, long issueCode, IColourMessage message) { return(new LoggingResult(new LoggingIssue(message, level, issueCode))); }
/// <summary> /// Builds a single trace logging message. /// </summary> /// <param name="issueCode">Issue code associated with message.</param> /// <param name="message">Message to be logged.</param> public static LoggingResult SingleTrace(long issueCode, IColourMessage message) { return(SingleResult(ResultIssueLevels.Trace, issueCode, message)); }
protected virtual Result BuildResultHeader(out IColourMessage message) { message = Colour.Message; return(Result.Success); }
/// <summary> /// Builds a single warning logging message. /// </summary> /// <param name="issueCode">Issue code associated with message.</param> /// <param name="message">Message to be logged.</param> public static LoggingResult SingleWarning(long issueCode, IColourMessage message) { return(SingleResult(ResultIssueLevels.Warning, issueCode, message)); }
protected static string BuildMessage(IColourMessage message) { return(message == null ? string.Empty : message.BuildRaw()); }
protected internal LoggingIssue(IColourMessage message, ResultIssueLevels level, long issueCode = 0) : base(BuildMessage(message), level, issueCode) { _colourMessage = message; }
/// <summary> /// Writes an IColourMessage to the command line. /// </summary> /// <param name="message">The message to be written.</param> public static IColourMessage Write(IColourMessage message) { return(Writer.Write(message)); }
/// <summary> /// Logs an IColourMessage. /// </summary> /// <param name="message">Message to be logged.</param> protected abstract Result LogMessage(IColourMessage message);
protected virtual Result AppendIssuePrefix(IColourMessage message, ResultIssue issue) { return(AppendTime(message, issue) + AppendLevel(message, issue)); }