Создать лог действий программы - C#
Формулировка задачи:
Как добавить функцию лога в программу?
Пример:
Сама программа:
WindowsFormsApplication3.zip
Решение задачи: «Создать лог действий программы»
textual
Листинг программы
using System;
using System.IO;
using System.Text;
namespace CyberForum
{
public class Logger : IDisposable
{
private const int MaxWritesBeforeFlush = 5;
private StreamWriter InnerWriter;
private int WritesCount = 0;
public Logger(string filePath)
{
if (string.IsNullOrEmpty(filePath))
{
throw new ArgumentNullException(nameof(filePath), "Target file path can't be null or empty.");
}
InnerWriter = new StreamWriter(filePath, true, Encoding.UTF8, 8192);
}
public void Dispose()
{
InnerWriter.Flush();
InnerWriter.Dispose();
}
public void WriteMessage(string message)
{
InnerWriter.WriteLine(message);
FlushIfNeeded();
}
private void FlushIfNeeded()
{
if (++WritesCount == MaxWritesBeforeFlush)
{
InnerWriter.Flush();
WritesCount = 0;
}
}
}
}