using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Tango.Logging { /// /// Represents an exception log item. /// [Serializable] public class ExceptionLogItem : LogItemBase { private bool _messageSet; [NonSerialized] private Exception _exception; /// /// Gets or sets the log item exception. /// public Exception Exception { get { return _exception; } set { _exception = value; } } /// /// Gets the log message. /// public override string Message { get; set; } /// /// Gets or sets the error description. /// public String Description { get; set; } /// /// Returns a formatted string of the log item. /// public override string ToString() { return String.Format("[{0}] [{6}] [{1}] [{2}] [{3}]: {4}{5}", TimeStamp.ToString("HH:mm:ss.ff"), GetRelativeCallerFilePath(), CallerMethodName, CallerLineNumber, Description, Environment.NewLine + Exception.FlattenException(), Category); } } }