Logging Application Block (Microsoft Enterprise Library 5.0)
От: lutikman  
Дата: 06.10.10 13:49
Оценка:
Добрый день уважаемые форумчане.
Мне поставлена задача разобратся и после внедрить в проект логирование с помощью Logging Application Block (Microsoft Enterprise Library 5.0).
Ковыряю уже пару дне, но результатов практически нет.
В документации с оф. сайта единственный примитивный пример и тот не работает:
public void ExampleScenario(LogWriter myLogWriter)
{
  LogEntry logEntry = new LogEntry();

  logEntry.EventId = 100;
  logEntry.Priority = 2;
  logEntry.Message = "Informational message";
  logEntry.Categories.Add("Trace");
  logEntry.Categories.Add("UI Events");

  myLogWriter.Write(logEntry);
}

На сколько я понимаю не работает потому что нужно настройки логирования создать и/или записать в AppConfig.
Но как быть когда файла конфигурации приложения не существует, или он удаляется пользователями?

Как програмно настроивать логирования? Как правильно логировать? Вообщем интересует все что касается данной темы.
Заранее благодарен.
Re: Logging Application Block (Microsoft Enterprise Library
От: sunshine Россия https://angel.ru/?src=rsdn
Дата: 06.10.10 13:54
Оценка:
Здравствуйте, lutikman, Вы писали:

L>Добрый день уважаемые форумчане.

L>Мне поставлена задача разобратся и после внедрить в проект логирование с помощью Logging Application Block (Microsoft Enterprise Library 5.0).
L>Ковыряю уже пару дне, но результатов практически нет.
L>В документации с оф. сайта единственный примитивный пример и тот не работает:

Имхо, свой велосипед за 20 минут сделать проще )))
Принимаю платежи в любой валюте
Re[2]: Logging Application Block (Microsoft Enterprise Libra
От: lutikman  
Дата: 06.10.10 13:56
Оценка:
Здравствуйте, sunshine, Вы писали:

S>Здравствуйте, lutikman, Вы писали:


L>>Добрый день уважаемые форумчане.

L>>Мне поставлена задача разобратся и после внедрить в проект логирование с помощью Logging Application Block (Microsoft Enterprise Library 5.0).
L>>Ковыряю уже пару дне, но результатов практически нет.
L>>В документации с оф. сайта единственный примитивный пример и тот не работает:

S>Имхо, свой велосипед за 20 минут сделать проще )))

Это понятно, но поставлена задача использовать именно эту библиотеку. (((
Re: Logging Application Block (Microsoft Enterprise Library
От: IT Россия linq2db.com
Дата: 06.10.10 14:03
Оценка: +3
Здравствуйте, lutikman, Вы писали:

L>Мне поставлена задача разобратся и после внедрить в проект логирование с помощью Logging Application Block (Microsoft Enterprise Library 5.0).


Уже не раз говорилось, что даже сами разработчики AB позиционируют эту поделку как набор примеров, а не как продакшин библиотеку.
Если нам не помогут, то мы тоже никого не пощадим.
Re: Logging Application Block (Microsoft Enterprise Library
От: DuШes  
Дата: 06.10.10 14:07
Оценка:
Здравствуйте, lutikman, Вы писали:
[...]
L>На сколько я понимаю не работает потому что нужно настройки логирования создать и/или записать в AppConfig.
L>Но как быть когда файла конфигурации приложения не существует, или он удаляется пользователями?

L>Как програмно настроивать логирования? Как правильно логировать? Вообщем интересует все что касается данной темы.

L>Заранее благодарен.

ахренеть, а assemblies ваши пользователи не удаляют из bin каталога приложения????
Re[2]: Logging Application Block (Microsoft Enterprise Libra
От: lutikman  
Дата: 06.10.10 14:19
Оценка:
Здравствуйте, DuШes, Вы писали:

DШ>Здравствуйте, lutikman, Вы писали:

DШ>[...]
L>>На сколько я понимаю не работает потому что нужно настройки логирования создать и/или записать в AppConfig.
L>>Но как быть когда файла конфигурации приложения не существует, или он удаляется пользователями?

L>>Как програмно настроивать логирования? Как правильно логировать? Вообщем интересует все что касается данной темы.

L>>Заранее благодарен.

DШ>ахренеть, а assemblies ваши пользователи не удаляют из bin каталога приложения????

А при чем тут bin каталог?
Да и вообщем это не касается поставленных мной вопросов. Я прошу помочь а не задавать подобные вопросы.
Re[2]: Logging Application Block (Microsoft Enterprise Libra
От: QrystaL Украина  
Дата: 06.10.10 14:19
Оценка:
IT>Уже не раз говорилось, что даже сами разработчики AB позиционируют эту поделку как набор примеров, а не как продакшин библиотеку.

Enterprise Library provides sufficient functionality to support many common scenarios that enterprise-level applications must address.


© Разработчики.

S>Имхо, свой велосипед за 20 минут сделать проще )))


Зачем, если за 5 можно использовать готовое?

L>Ковыряю уже пару дне, но результатов практически нет.

Вы, наверное, шутите )

http://msdn.microsoft.com/en-us/library/ff664760(PandP.50).aspx
Re: Logging Application Block (Microsoft Enterprise Library
От: Spinifex Россия https://architecture-cleaning.ru/
Дата: 06.10.10 14:20
Оценка:
Предлагаю посмотреть в сторону log4net и при возможности переубедить постановщика задачи.
Re[2]: Logging Application Block (Microsoft Enterprise Libra
От: QrystaL Украина  
Дата: 06.10.10 14:22
Оценка:
Здравствуйте, Spinifex, Вы писали:

S>Предлагаю посмотреть в сторону log4net и при возможности переубедить постановщика задачи.


Расскажите, чем он лучше )
Re[3]: Logging Application Block (Microsoft Enterprise Libra
От: Qbit86 Кипр
Дата: 06.10.10 14:23
Оценка:
Здравствуйте, QrystaL, Вы писали:

QL>Вы, наверное, шутите )


QL>http://msdn.microsoft.com/en-us/library/ff664760(PandP.50).aspx


По ссылке описана настройка логгера не в коде, а через файл конфигурации (заполняющийся с помощью программы-конфигуратора).
Глаза у меня добрые, но рубашка — смирительная!
Re[3]: Logging Application Block (Microsoft Enterprise Libra
От: lutikman  
Дата: 06.10.10 14:25
Оценка:
QL>http://msdn.microsoft.com/en-us/library/ff664760(PandP.50).aspx

Это понятно. Вопрос в том чтобы создать конфиг програмно.
Re[2]: Logging Application Block (Microsoft Enterprise Libra
От: lutikman  
Дата: 06.10.10 14:27
Оценка:
Здравствуйте, Spinifex, Вы писали:

S>Предлагаю посмотреть в сторону log4net и при возможности переубедить постановщика задачи.

Есть четко поставленная задача, изменению не подлежит. Но все равнос спасибо, на будущее пригодится. А пока прошу по существу.
Re[3]: Logging Application Block (Microsoft Enterprise Libra
От: IT Россия linq2db.com
Дата: 06.10.10 14:31
Оценка:
Здравствуйте, QrystaL, Вы писали:

IT>>Уже не раз говорилось, что даже сами разработчики AB позиционируют эту поделку как набор примеров, а не как продакшин библиотеку.


QL>

QL>Enterprise Library provides sufficient functionality to support many common scenarios that enterprise-level applications must address.


QL>© Разработчики.


И что здесь написано? Перевести?
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: Logging Application Block (Microsoft Enterprise Libra
От: sunshine Россия https://angel.ru/?src=rsdn
Дата: 06.10.10 14:39
Оценка:
Здравствуйте, Spinifex, Вы писали:

S>Предлагаю посмотреть в сторону log4net и при возможности переубедить постановщика задачи.


У меня на работе он сейчас используется. В принципе, хорошая вещь. Но вот есть одна засада — иногда по непонятным причинам не логгирует. Не выдавая при этом никаких ошибок, имея абсолютно те же настройки, что и в соседних проектах, в которых логгирование осуществляется в ту же базу, просто не логгирует, и все.
Принимаю платежи в любой валюте
Re[4]: Logging Application Block (Microsoft Enterprise Libra
От: QrystaL Украина  
Дата: 06.10.10 14:43
Оценка: 11 (3)
L>Вопрос в том чтобы создать конфиг програмно.


            var builder = new ConfigurationSourceBuilder();

            builder.ConfigureLogging()
                .LogToCategoryNamed("General")
                    .SendTo.FlatFile("Security Log File")
                        .FormatWith(new FormatterBuilder()
                            .TextFormatterNamed("Text Formatter")
                                .UsingTemplate("Time: {timestamp} Message: {message}"))
                            .ToFile("example.log");

            var configSource = new DictionaryConfigurationSource();
            builder.UpdateConfigurationWithReplace(configSource);
            EnterpriseLibraryContainer.Current = EnterpriseLibraryContainer.CreateDefaultContainer(configSource);

            Logger.Write("Text", "General");
Re[5]: Logging Application Block (Microsoft Enterprise Libra
От: lutikman  
Дата: 07.10.10 08:47
Оценка:
Здравствуйте, QrystaL, Вы писали:

L>>Вопрос в том чтобы создать конфиг програмно.



QL>
QL>            var builder = new ConfigurationSourceBuilder();

QL>            builder.ConfigureLogging()
QL>                .LogToCategoryNamed("General")
QL>                    .SendTo.FlatFile("Security Log File")
QL>                        .FormatWith(new FormatterBuilder()
QL>                            .TextFormatterNamed("Text Formatter")
QL>                                .UsingTemplate("Time: {timestamp} Message: {message}"))
QL>                            .ToFile("example.log");

QL>            var configSource = new DictionaryConfigurationSource();
QL>            builder.UpdateConfigurationWithReplace(configSource);
QL>            EnterpriseLibraryContainer.Current = EnterpriseLibraryContainer.CreateDefaultContainer(configSource);

QL>            Logger.Write("Text", "General");
QL>

Огромное спасибо. Направили меня в нужную сторону. Думаю дальше уже своими силами. )))
Re[5]: Logging Application Block (Microsoft Enterprise Libra
От: lutikman  
Дата: 07.10.10 08:58
Оценка: -1
Здравствуйте, QrystaL, Вы писали:

L>>Вопрос в том чтобы создать конфиг програмно.



QL>
QL>            var builder = new ConfigurationSourceBuilder();

QL>            builder.ConfigureLogging()
QL>                .LogToCategoryNamed("General")
QL>                    .SendTo.FlatFile("Security Log File")
QL>                        .FormatWith(new FormatterBuilder()
QL>                            .TextFormatterNamed("Text Formatter")
QL>                                .UsingTemplate("Time: {timestamp} Message: {message}"))
QL>                            .ToFile("example.log");

QL>            var configSource = new DictionaryConfigurationSource();
QL>            builder.UpdateConfigurationWithReplace(configSource);
QL>            EnterpriseLibraryContainer.Current = EnterpriseLibraryContainer.CreateDefaultContainer(configSource);

QL>            Logger.Write("Text", "General");
QL>

А как теперь все эти настройки записать в тот же App.config?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.