Beispiel #1
0
        /// <summary>
        /// Writes a message to the text file
        /// </summary>
        /// <param name="message">Message to write</param>
        /// <param name="type">Type of message to write</param>
        protected override void WriteMessage(string message, LogMessageType type)
        {
            TextFileLoggerSettings textFileSettings = Settings as TextFileLoggerSettings;

            string typePrefix = string.Format("[{0}]: ", type.ToString()[0]);
            string timestamp  = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss tt: ");

            bool showTimestamp = false;

            switch (type)
            {
            case LogMessageType.Information:
                showTimestamp = textFileSettings.TimeStampOnInformation;
                break;

            case LogMessageType.Warning:
                showTimestamp = textFileSettings.TimeStampOnWarning;
                break;

            case LogMessageType.Error:
                showTimestamp = textFileSettings.TimeStampOnError;
                break;

            default:
                showTimestamp = textFileSettings.TimeStampOnNone;
                typePrefix    = string.Empty;
                break;
            }

            StringBuilder sb = new StringBuilder();

            if (showTimestamp)
            {
                sb.Append(timestamp);
            }
            if (textFileSettings.ShowMessageTypePrefixes && type != LogMessageType.None)
            {
                sb.Append(typePrefix);
            }
            sb.Append(message);

            try
            {
                if (!File.Exists(textFileSettings.FilePath))
                {
                    File.Create(textFileSettings.FilePath).Close();
                }
                File.AppendAllLines(textFileSettings.FilePath, new string[] { sb.ToString() });
            }
            catch
            {
            }
        }
Beispiel #2
0
 /// <summary>
 /// Constructor for the <see cref="TextFileLogger"/> class
 /// </summary>
 /// <param name="settings">Settings for the logger</param>
 public TextFileLogger(TextFileLoggerSettings settings) :
     base(settings)
 {
 }