Извините, возможно, это дубликат, но в другом статическом интерфейсе упоминаются непатентованные элементы, которые я не использую.
Мне нужен быстрый и простой регистратор для моего приложения, хотя я мог избежать одиночного использования статического элемента,Я хотел бы сохранить интерфейс, чтобы позже я мог перейти на другой пакет регистрации.Интерфейс для меня (я могу ошибаться) способ реализовать функцию «фасада».
У меня такое чувство, что я что-то упускаю.Нежный толчок в правильном направлении будет принята с благодарностью.(Надеюсь, это немного яснее)
public interface Ilogger
{
void Log(string data, out DateTime datetime, out string uid);
}
public class Logger : Ilogger
{
private static TraceSource AppTrace = new TraceSource("RD", SourceLevels.All);
static Logger ()
{
AppTrace.Listeners.Clear();
AppTrace.Listeners.Add(new DelimitedListTraceListener("RD.log"));
}
static void Log(string data, out DateTime datetime, out string uid)
{
datetime = DateTime.Now;
uid = Guid.NewGuid().ToString();
AppTrace.TraceInformation(datetime + ";" + uid + ";" + data);
}
}