Логирование с помощью Microsoft Enterprise Library 4.1

среда, 30 сентября 2009, Александр Краковецкий

В данной статье рассказывается как работать с блоком логирования из библиотеки Microsoft Enterprise Library 4.1. Решил разобраться после посещения Patterns & Practices Roadmap Kiev.

Установка Enterprise Library

Загрузить Enterprise Library 4.1 можно

Конфигурация логирования

Большинство функциональности EntLib конфигурируется, в том числе и блок логирования. Вам необходимо добавить в проект конфигурационный файл и добавить информацию с помощью аддона для Visual Studio, который установился вместе с библиотекой.

С помощью Solution Explorer добавляем новый Application Configuration File, имя файла оставляем по умолчанию — app.config:

image

Далее нажимаем правой кнопкой мыши на app.config и выбираем Edit Enterprise Library Configuration:

image

В открывшемся редакторе выбираем New | Logging Application Block:

image
В дереве редактора должен появиться новый Logging Application Block:

image

Закрываем редактор, открываем app.config:

  1:
  2:
  3:  
  4:    

  5:    

  6:  
  7:     8:     defaultCategory="General" logWarningsWhenNoCategoriesMatch="true">
  9:    
 10:        11:         log="Application" machineName="" listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FormattedEventLogTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
 12:         traceOutputOptions="None" filter="All" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FormattedEventLogTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
 13:         name="Formatted EventLog TraceListener" />
 14:    

 15:    
 16:        17:         type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
 18:         name="Text Formatter" />
 19:    

 20:    
 21:      
 22:        
 23:          
 24:        

 25:      

 26:    

 27:    
 28:      
 29:      
 30:      
 31:        
 32:          
 33:        

 34:      

 35:    

 36:  

 37:

* This source code was highlighted with
Source Code Highlighter.


Сейчас в файле много различных настроек, но они нас в данный момент не интересуют.

Добавляем код логирования в приложение

Подключаем пространство имен:

using Microsoft.Practices.EnterpriseLibrary.Logging;

* This source code was highlighted with Source Code Highlighter.


Далее добавляем следующий код в Program.cs:

class Program
{
  static void Main(string[] args)
  {
    LogEntry entry = new LogEntry()
               {
                 Message = "Hello Ent. Lib. Logging"
               };
   
    Logger.Write(entry);
  }
}

* This source code was highlighted with Source Code Highlighter.


Это все, что нужно сделать!

Запуск приложения и проверка логирования

Выполняем приложение, далее запускаем Windows Event Viewer и смотрим последние события. Вы должны увидеть записанную информацию:

image

Также вы можете указать Severity в вашем LogEntry:

LogEntry entry = new LogEntry()
           {
             Message = "Hello Ent. Lib. Logging",
             Severity = TraceEventType.Critical
           };

* This source code was highlighted with Source Code Highlighter.



Если вы запустите приложение сейчас, то увидите критическую ошибку Windows Event Viewer.

P.S. Добавлю, что помимо блока логирования в состав EntLib входит большое количество других блоков, в том числе Caching, Cryptography, Data Access, Exception Handling, Logging, Policy Injection, Security, Validation и Unity. Более подробно можно почитать на сайте http://entlib.codeplex.com/.

А вы используете EntLib?

Компании из статьи


Microsoft Украина


Сайт:
http://www.microsoft.com/ukr/ua/

Microsoft Украина Украинское подразделение компании Microsoft.

Ищите нас в интернетах!

Комментарии

Свежие вакансии