public override string ToString()
{
var cause = Cause;
var causeStr = cause == null ? "Unknown" : cause.ToString();
var errorStr = string.Format("[{0}][{1}][Thread {2}][{3}] {4}{5}Cause: {6}",
LogLevel().ToString().Replace("Level", "").ToUpperInvariant(), Timestamp,
Thread.ManagedThreadId.ToString().PadLeft(4, '0'), LogSource, Message, Environment.NewLine, causeStr);
return errorStr;
}
}