Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > WPF, UWP, WinRT, XAML
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.07.2015, 07:49   #1
timur2008
Новичок
Джуниор
 
Регистрация: 02.12.2012
Сообщений: 2
По умолчанию Логер который не содержит отдельных файлов с конфигами - C# WPF

Здравствуйте. Посоветуйте пожалуйста библиотеку логер которая бы могла отсылать лог с ошибкой на емаил наподобии nlog или log4net, но при этом чтобы у нее не было внешнего файла с конфигом (т.е. чтобы не было необходимости вместе с exeшником таскать этот конфиг). Т.е. чтобы все настройки могли храниться в файле app.config
timur2008 вне форума Ответить с цитированием
Старый 30.07.2015, 11:47   #2
Akeloya
Форумчанин
 
Регистрация: 27.01.2014
Сообщений: 115
По умолчанию

Расширьте App.config самостоятельно.
http://habrahabr.ru/post/128517/
https://msdn.microsoft.com/en-us/library/2tw134k3.aspx
https://msdn.microsoft.com/ru-ru/lib...v=VS.100).aspx
Akeloya вне форума Ответить с цитированием
Старый 30.07.2015, 13:43   #3
timur2008
Новичок
Джуниор
 
Регистрация: 02.12.2012
Сообщений: 2
По умолчанию

скажите а как мне потом этот конфиг использовать в каком нибудь логере?? Вся проблема началась то по суи изза того что мне нужно все библиотеки которые в моем проекте используются в один exe файл. Те библиотеки которые не используют конфиги нормально загрузились а вот с библиотекой использующей конфиги начались проблемы.
timur2008 вне форума Ответить с цитированием
Старый 31.07.2015, 08:21   #4
Akeloya
Форумчанин
 
Регистрация: 27.01.2014
Сообщений: 115
По умолчанию

Цитата:
Сообщение от timur2008 Посмотреть сообщение
скажите а как мне потом этот конфиг использовать в каком нибудь логере?? Вся проблема началась то по суи изза того что мне нужно все библиотеки которые в моем проекте используются в один exe файл. Те библиотеки которые не используют конфиги нормально загрузились а вот с библиотекой использующей конфиги начались проблемы.
Храните настройки в приложении, app.config, например, реестр. Передавайте настройки в экземпляры объектов (классов из ваших библиотек) через конструктор, например.

Либо воспользуйтесь вторым вариантом - напишите тот же логгер с виртуальным методом логирования. А затем расширьте его в вашем приложении.

Код:
private void OnLogEvent(LogEventArgs e)
        {
            EventHandler<LogEventArgs> handler = Logging;
            if (handler != null)
            {
                handler(this, e);
            }
        }

        public event EventHandler<LogEventArgs> Logging;
LogEventArgs
Код:
 public class LogEventArgs : EventArgs
    {
        public string Message {get;set;}
        public DateTime TimeElapsed {get;set;}
    }
Соответственно, в вашем приложении вы сами будете выбирать как обрабатывать событие логирования - в файл, журнал событий компьютера, да хоть почту слать. При этом все настройки, которые ваш логгер использует в текущей реализации будут в логах приложения и вы будете их использовать не дальше самого приложения.

Использование выглядит примерно так:
Код:
Log.Logging += WriteToFile;

private void WriteToFile(object sender, LogEventArgs e)
{
    File.WriteAllLines(Properties.Settings["PathToLogFile"].ToString(), string.Format("{0}  {1}", e.TimeElapsed, e.Message));
}
Akeloya вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
реализовать класс Time который содержит три поля типа int shilovec5377 Общие вопросы C/C++ 4 08.06.2015 11:04
Консолидация отдельных полей отдельных файлов на один лист Paramount Microsoft Office Excel 15 30.01.2013 17:41
Создать массив, который содержит сведения о сдаче студентами сессии... bot0 Помощь студентам 9 25.12.2010 20:20
Реализовать обьект в Delphi, который содержит в качестве поля двумерный массив данных. Nastena_12_ Помощь студентам 0 06.12.2009 22:17
Помогите открыть файл который содержит определенное слово в названии. repo Microsoft Office Excel 2 03.08.2008 19:00