• Привет, Гость!
  • Войти
  • Регистрация
  • Записи
  • Форумы
  • Люди
  • Файлы
  • Работа
  • Технологии
  • Все
  • Новости
  • События
  • Статьи
  • Блоги

Указание пути для создания логов в log4net

Указание пути для создания логов в log4net

Raimon
15.08.2008 15:59

log4net является классикой для ведения логов на .net (на этом месте начнутся споры:)

для конфигурирования log4net самый простой и гибкий метод - это конфигурационный файл. пример:

   1:  <?xml version="1.0" encoding="utf-8" ?>
   2:  <configuration>
   3:    <configSections>
   4:      <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
   5:    </configSections>
   6:    <log4net>
   7:      <appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
   8:        <file value="logs/example.log" />
   9:        <appendToFile value="true" />
  10:        <maximumFileSize value="100KB" />
  11:        <maxSizeRollBackups value="2" />
  12:   
  13:        <layout type="log4net.Layout.PatternLayout">
  14:          <conversionPattern value="%level %thread %logger - %message%newline" />
  15:        </layout>
  16:      </appender>
  17:   
  18:      <root>
  19:        <level value="DEBUG" />
  20:        <appender-ref ref="RollingFile" />
  21:      </root>
  22:    </log4net>
  23:  </configuration>

хочу обратить внимание на выделенный текст. часто бывает нужно положить логи в место, которое известно только после установки (или вычисляется в runtime). в таком случае можно применить следующую конструкцию в коде:

log4net.GlobalContext.Properties["AppDataDir"] = 
    Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "gdn");
log4net.Config.XmlConfigurator.Configure();

плюс к этому меняем путь в 8ой строчке на "%property{AppDataDir}/logs/example.log"

данный подход применим и к другим конфигурируемым свойствам.

надеюсь будет полезно.
Raimon
15.08.2008 15:59
Комментариев:0 RSS Просмотров:328
Теги: .NET, tips

Rail Sabirov

Raimon разработчик
[MSP]
  • Блог

Облако тегов

.net .net gui ajax asp.net asp.net ajax asp.net mvc browser bugs dotnet 3 fun google gotdotnet localization maps microsoft office 2007 other pagemethods perfomance philosophy question safari tips web development ввод данных
Строишь сложные системы? Хостинг от Parking.Ru

Записи

Популярные
  • diverofdark > C#: Expression Tree + Extension Method + Lambda как замена Safe Navigation Operator
  • sashaeve > Интересные возможности C# и ASP.NET
  • trukhinyuri > О чтении технической литературы в pdf на английском
  • snoralip > Обработка структурированн­ого текста с помощью регулярных выражений
  • Dmitryk > Парадигма генерации и обработки исключений
  • snoralip > Применение хеш-функций, SHA1, GetHashCode, HashSet и Dictionary
  • mvcdev > Говорящий PowerShell скрипт
  • mbakirov > I am back.
  • SergeyT. > [Перевод] Джозеф Албахари. Работа с потоками в C#. Часть 3
  • ][tiger > Singleton in .NET 4.0 - вопрос снят?
Все популярные записи
Обсуждаемые
  • mbakirov > I am back.
  • trukhinyuri > О чтении технической литературы в pdf на английском
  • diverofdark > C#: Expression Tree + Extension Method + Lambda как замена Safe Navigation Operator
  • NetGuru > Определение имени текущего пользователя SharePoint
  • snoralip > Применение хеш-функций, SHA1, GetHashCode, HashSet и Dictionary
  • Dmitryk > Парадигма генерации и обработки исключений
  • NetGuru > Строка подключения к БД.
  • Soldata > Преобразование даты в строку типа "вчера; сегодня; завтра" с помощью метода расширения
  • NetGuru > Extension methods – «методы-расшири­тели»:
  • trukhinyuri > Группы в Windows Live Messenger
Все обсуждаемые записи

Блоги

Новые
  • Regfor> Роман Калита – Блог
  • NetGuru> Kurakin Vit's Blog
  • Andrey> Андрей Веселов
  • danverPD> podzyubanBlogs
  • Stanislav Gornakov> Stanislav Gornakov
  • k0stya> k0stya
  • ][tiger> Just do IT - просто дует
  • Oxozle> KLUBS
  • mvcdev> WebDev
  • VitaliyP> PanarinV
Обсуждаемые
  • mihailik> Олег Михайлик
  • ceo> Нотатник Вiктора Шатохiна [MSFT]
  • gaidar> Gaidar Magdanurov
  • MikhailChernomo­rdikov> Mikhail Chernomordikov [MSFT]
  • Alexander Lozhechkin [MSFT]> Alexander Lozhechkin
  • agladkik> Andrey Gladkikh: Microsoft Dynamics
  • sergun> Sergey Zwezdin
  • beerbong> Bong Blog
  • sos> Dmitry Soshnikov [MSFT]
  • not-a-kernel-gu­y> Зеркало: Not a kernel guy
О сайте   Свяжитесь с нами   Версия для печати
Работает на 1С-Битрикс: Управление сайтом ASP.NET  |  Хостинг на Parking.Ru