Файл регистратор в C # - PullRequest
       12

Файл регистратор в C #

4 голосов
/ 10 июля 2009

Я ищу класс .net для записи различной информации в файл. Регистратор должен иметь метки времени, категории для регистрируемых данных (чтобы иметь возможность различать уведомления и ошибки), уровни серьезности для ошибок, чтобы иметь возможность разбивать файл журнала после того, как он превышает определенный размер.

Ответы [ 8 ]

11 голосов
/ 10 июля 2009

Я предлагаю вам использовать открытый исходный код log4net

9 голосов
/ 10 июля 2009

Корпоративная библиотека Блокировка приложения.

5 голосов
/ 10 июля 2009

Nlog и Log4Net - два широко используемых фреймворка.

Вот вопрос, связанный с переполнением стека .

4 голосов
/ 12 июля 2009

Существуют различные структуры ведения журналов, как уже говорили другие. Я предлагаю вам использовать CommonLogging (Марк Поллак, Эрих Эйхингер, Бруно Байя - которые также являются руководителями Spring.Net), так что вы не зависите от конкретной реализации регистратора и можете изменить ее через конфигурацию, как только найдете Вам нужна другая функция регистрации. .Net CommonLogging содержит адаптеры для следующих библиотек журналов:

  • System.Trace
  • Log4Net
  • NLog
  • MS Enterprise Library
  • Простой регистратор ConsoleOut

и вы можете легко написать свой собственный адаптер или мост между адаптерами регистрации.

2 голосов
/ 14 октября 2011

Я написал простой .net logger с общедоступным источником. Это может соответствовать вашим потребностям.

Простая в использовании, поточно-ориентированная, файловая и строковая отметки даты и времени, автоматическое создание файла, анализирует исключения в текст для вас, использует очередь для записи сообщений журнала в фоновом потоке.

(перейдите в меню «Файл» и выберите «Загрузить», чтобы получить zip-файлы)

2 голосов
/ 10 июля 2009

Один из самых простых методов - использовать классы файлов журналов, найденные в .NET, а именно класс EventLog (находится в System.Diagnostics), который позволяет вам получать доступ или настраивать журналы событий Windows.

Ниже приведен пример использования:

using System.Diagnostics;


class LogSample{

   public static void Main()
   {
      // let's create our application log file
      if (!EventLog.SourceExists("ApplicationLog"))
      {
         EventLog.CreateEventSource("ApplicationLog", "SampleLog");
      }

      EventLog log = new EventLog();
      log.Source = "ApplicationLog";

      // Here we can write the "categories" you require
      log.WriteEntry("Some error entry goes here", EventLogEntryType.Error);

      log.Close();

      // where EventLogEntryType enum has "Error", "Warning", "Information"
      // we are done with the event log ... forever (ie. we don't want it on the machine)
      log.Delete("ApplicationLog");
   }
}
1 голос
/ 10 июля 2009

Как предлагали предыдущие авторы, я бы сказал, загляните в Log4Net - он похож на Log4J и обеспечивает большую функциональность ...

Я бы предложил прочитать: http://logging.apache.org/log4net/release/faq.html

0 голосов
/ 03 марта 2013

Корпоративная библиотека - это открытый исходный код от Microsoft.

...