using System; using System.Text; namespace Kreta.Framework.Logging { /// /// A napló alrendszer kivétele. /// public sealed class LogWriterException : Exception { private ILogMessage m_FailedLogMessage; /// /// Az osztály konstruktora. /// /// A sikertelen naplóbejegyzés public LogWriterException(ILogMessage failedLogMessage) : this(failedLogMessage, null, null) { } /// /// Az osztály konstruktora. /// /// A kivétel üzenete public LogWriterException(string message) : this(null, message, null) { } /// /// Az osztály konstruktora. /// /// A kivétel üzenete /// A belső kivétel public LogWriterException(string message, Exception innerException) : this(null, message, innerException) { } /// /// Az osztály konstruktora. /// /// A sikertelen naplóbejegyzés /// A kivétel üzenete /// A belső kivétel public LogWriterException(ILogMessage failedLogMessage, string message, Exception innerException) : base(message, innerException) { m_FailedLogMessage = failedLogMessage; } /// /// A kivétel üzenete. /// public override string Message { get { if (m_FailedLogMessage == null) { return base.Message; } StringBuilder builder = new StringBuilder(); builder.AppendLine(base.Message); builder.AppendLine("Failed message:"); builder.AppendLine(LogUtil.FormatMessage(m_FailedLogMessage, " | ")); return builder.ToString(); } } /// /// A sikertelen naplóbejegyzés. /// public ILogMessage FailedLogMessage { get { return m_FailedLogMessage; } } } }