Приложение Logger для консольного приложения c # - PullRequest
1 голос
/ 13 августа 2010

Впервые в своей карьере я разрабатываю консольное приложение.Это консольное приложение представляет собой движок, который будет выполнять задачу каждую ночь в определенное время.Я собираюсь запланировать это приложение, используя планировщик задач Windows.

Теперь мне нужно регистрировать каждый шаг в этой задаче.Я не уверен, какой регистратор лучше всего подходит для такого рода приложений.Эти сообщения журнала могут быть сохранены в базе данных, XML или плоском файле.

Можете ли вы дать свои предложения для лучшего приложения для ведения журнала для такого сценария?

Ответы [ 3 ]

5 голосов
/ 13 августа 2010

Попробуйте NLog это в основном порт Log4j для .NET.Вы можете настроить его программно или через XML-файл.Второй вариант удобен тем, что вам не нужно перекомпилировать проект каждый раз, когда вы хотите изменить параметры ведения журнала.В коде общее использование будет выглядеть так:

class MyClass
{
    private static readonly Logger Logger = LogManager.GetCurrentClassLogger();

    public void MyMethod()
    {
        // available logging levels TRACE,INFO,DEBUG,WARN,ERROR, FATAL
        Logger.Debug("Debug message"); 
    }
}
5 голосов
/ 13 августа 2010

Обычно мы используем log4net для всех входов в приложения, частью которых я сейчас занимаюсь.Работает довольно хорошо.Затем у нас есть сценарии, которые ежедневно сжимают журналы в zip-файлы, чтобы сэкономить дисковое пространство (поскольку некоторые приложения довольно многословны в своих журналах).

2 голосов
/ 13 августа 2010

Наиболее распространенными средами ведения журналов в .NET являются Log4Net и NLog , хотя есть и другие.

...