Подтвердить что ты не робот

Свободная конфигурация log4net

Кто-нибудь знает, есть ли удобный способ настройки log4net (добавление и все свойства для приложений и т.д.).

xml сводит меня с ума.

Или, если нет, знает ли кто-нибудь о приличной инфраструктуре ведения журнала .Net, которая легко может быть легко сконфигурирована и предлагает аналогичные функции для log4net?

4b9b3361

Ответ 1

Прохладные приветствия, я посмотрю. Найти то, что я искал в log4net тоже.

Раздражающе мы начали использовать Castle Logging Facility, который, кажется, берет строку в xml файл! Поэтому, возможно, придется рассмотреть все это с помощью DSL и генерировать наши xml-конфигурации как шаг предварительной сборки.

    private static void ConfigureLog()
    {
        var root = ((Hierarchy)LogManager.GetRepository()).Root;
        root.AddAppender(GetConsoleAppender());
        root.AddAppender(GetFileAppender(@"d:\dev\huddle\log\Huddle.Sync", "standard.log", Level.Debug));
        root.AddAppender(GetFileAppender(@"d:\dev\huddle\log\Huddle.Sync", "error.log", Level.Warn));
        root.Repository.Configured = true;
    }

    private static FileAppender GetFileAppender(string directory, string fileName, Level threshold)
    {
        var appender = new FileAppender
        {
            Name = "File", 
            AppendToFile = true,
            File = directory + "\\" + fileName, 
            Layout = new PatternLayout(_pattern), 
            Threshold = threshold
        };

        appender.ActivateOptions();
        return appender;
    }

    private static ConsoleAppender GetConsoleAppender()
    {
        var appender = new ConsoleAppender
        {
            Name = "Console", 
            Layout = new PatternLayout(_pattern), 
            Threshold = Level.Debug
        };

        appender.ActivateOptions();
        return appender;
    }

Ответ 2

Если вы не против зависимости от библиотеки Microsoft Enterprise, вы можете использовать Logging Application Block. Конфигурация по-прежнему находится в XML, но вы можете редактировать ее через графический интерфейс непосредственно в Visual Studio,

Ответ 3

Я чувствую вашу боль с конфигурацией log4net на основе XML. Я немного разочаровался в том, что отлаживал его некоторое время назад, когда я начал собирать свой собственный свободный API для log4net. Проверьте fluent-log4net на github. Не все на 100% поддерживается, но он туда попал.

Он делает тестирование просмотра конфигурации с первого взгляда намного проще, я скажу.

Ответ 4

С тех пор я переместился в NLog