Здравствуйте, Nikolay_P_I, Вы писали:
N_P>Именно серьезно — не просто в файл "до востребования", а в базу данных, например. И что-б админ переодически просматривал на предмет предупреждений ?
Я использовал чтобы письма отсылать, если исключение не поймано. в БД не писал.
N_P>Что-то настораживает при уже 5-ти летней давности проекте полное отсутствие GUI для настройки конфигов. Может все на него давно забили и забросили ?
Да, проект скорее мёртв, чем жив.
N_P>Или кто иные системы логирования и оповещения использует?
Здравствуйте, Nikolay_P_I, Вы писали:
N_P>Именно серьезно — не просто в файл "до востребования", а в базу данных, например. И что-б админ переодически просматривал на предмет предупреждений ? N_P>Что-то настораживает при уже 5-ти летней давности проекте полное отсутствие GUI для настройки конфигов. Может все на него давно забили и забросили ? N_P>Или кто иные системы логирования и оповещения использует ?
А что мешает написать TraceListener, который будет писать "в базу данных, например" и работать с ним стандартным образом через TraceSource?
Help will always be given at Hogwarts to those who ask for it.
Здравствуйте, adontz, Вы писали:
_FR>>А что мешает написать TraceListener, который будет писать "в базу данных, например" и работать с ним стандартным образом через TraceSource?
A>Ты с log4net работал? Там вся суть в фильтрах, а не в аппендерах.
И чем не устраивают фильтры в System.Diagnostics?
Help will always be given at Hogwarts to those who ask for it.
Здравствуйте, adontz, Вы писали:
N_P>>Или кто иные системы логирования и оповещения использует? A>Перешёл на NLog.
GUI configuration tool для него есть ? На их форуме последний вопрос на этот счет от 2007 года, да и тот остался без ответа. На мой взгляд — если не существует ни встроенных, ни свободных ни коммерческих средств для редактирования конфигурации конечным пользователем или администратором — системой реально, для серьезных продуктов — не пользуются.
Здравствуйте, Nikolay_P_I, Вы писали:
N_P>>>Именно серьезно — не просто в файл "до востребования", а в базу данных, например. И что-б админ переодически просматривал на предмет предупреждений ? N_P>>>Что-то настораживает при уже 5-ти летней давности проекте полное отсутствие GUI для настройки конфигов. Может все на него давно забили и забросили ? N_P>>>Или кто иные системы логирования и оповещения использует ?
_FR>>А что мешает написать TraceListener, который будет писать "в базу данных, например" и работать с ним стандартным образом через TraceSource?
N_P>А зачем страдать "велосипедизмом" ? В смысле — реализовывать все эти механизмы заново и идти по тем же граблям ?
Какие конкретно механизмы и почему заново? Заново по сравнению с чем? Добавить строчку в БД или отправить письмо — это вы "велосипедизмом" называете?
N_P>У нас уже есть неплохая, но узкозаточенная система логирования — мы просто смотрим в сторону стандартных — не перейти ли на одну из них. Можно коммерческих.
Так почему бы не начать с самой стандартной из тех, что может быть?
Help will always be given at Hogwarts to those who ask for it.
Здравствуйте, Nikolay_P_I, Вы писали:
_FR>>>>А что мешает написать TraceListener, который будет писать "в базу данных, например" и работать с ним стандартным образом через TraceSource? N_P>>>А зачем страдать "велосипедизмом" ? В смысле — реализовывать все эти механизмы заново и идти по тем же граблям ? _FR>>Какие конкретно механизмы и почему заново? Заново по сравнению с чем? Добавить строчку в БД или отправить письмо — это вы "велосипедизмом" называете?
N_P>Ну так сам TraceListener писать ? Писать.
То есть я прав:
Добавить строчку в БД или отправить письмо — это вы "велосипедизмом" называете?
Это же и есть листенер. ИМХО, написать кастомный листенер, который нужную вам строчку вставит в БД или отправит письмом (возможно, хитро и красиво оформленным) буудет быстрее, чем разобраться тем, как настроить в том же лог4нете требуемый формат. Это не тот елосипедизм, которого следет избег. Это мелочи. И своём кастомном листнере я смогу сформировать письмо красивее и подробнее, чем вы в дефолтовом в любой готовой системе логирования.
N_P>Конфигуратор строки подключения писать ? — писать.
Это опять из раздела ГУИ?
N_P>Что остается ? Использование стандартных Debug/Trace(level) вместо своих static Log.WriteLine(...) ? В чем смысл ? Нормальный Listener написать — намного сложнее, чем свой static для его вызова.
Почему сложнее? Вот видно уже, что вы просто не пробовали, а вам уже не нравится. Да и читали не достаточно внимательно. Никаких "Debug/Trace" — TraceSource. "Debug/Trace" — это от бедности первого фреймворка.
N_P>>>У нас уже есть неплохая, но узкозаточенная система логирования — мы просто смотрим в сторону стандартных — не перейти ли на одну из них. Можно коммерческих. _FR>>Так почему бы не начать с самой стандартной из тех, что может быть? N_P>Потому что его нет стандартного.
Ваше право так считать, как и верить эфир Спасибо, теперь ясно, что тратить время переубеждая вас безсмысленно.
Help will always be given at Hogwarts to those who ask for it.
Здравствуйте, Nikolay_P_I, Вы писали:
_FR>>То есть я прав: _FR>>
Добавить строчку в БД или отправить письмо — это вы "велосипедизмом" называете?
_FR>>Это же и есть листенер. ИМХО, написать кастомный листенер, который нужную вам строчку вставит в БД или отправит письмом (возможно, хитро и красиво оформленным) буудет быстрее, чем разобраться тем, как настроить в том же лог4нете требуемый формат. Это не тот елосипедизм, которого следет избег. Это мелочи. И своём кастомном листнере я смогу сформировать письмо красивее и подробнее, чем вы в дефолтовом в любой готовой системе логирования.
N_P>То есть для вас вот так написать потокобезопасный, буферизируемый (с защитой от переполнения), отказоустойчивый (в том числе от временного и не очень отключения базы данных) и быстрый листенер "намного проще" ? А потом еще пару таких хотя бы для писем и файлов (с защитой от переполнения) ? Снимаю шляпу — мы не настолько круты и надеемся на сторонние продукты.
Какая потокобезопастность вам нужна в листенере, который пишет в БД или отправляет письмо?
N_P>>>Конфигуратор строки подключения писать ? — писать. _FR>>Это опять из раздела ГУИ? N_P>Да. Это важно. Пользователи не то что его хотят — требуют. Даже махровые админы.
Вы сначала покажите хоть один Гуй из того, что вам подошёл бы, а потом скажите, что в нём такого, чего нельзя сделать хотя бы за два-три дня. Потом поговорим. Кстати, написание такого гуя к стандартным классам будет много проце чем к тому же лог4нету — ибо настроек меньше и они не такие запутанные и не такие развесистые как в лог4нете.
N_P>>>Что остается ? Использование стандартных Debug/Trace(level) вместо своих static Log.WriteLine(...) ? В чем смысл ? Нормальный Listener написать — намного сложнее, чем свой static для его вызова. _FR>>Почему сложнее? Вот видно уже, что вы просто не пробовали, а вам уже не нравится. Да и читали не достаточно внимательно. Никаких "Debug/Trace" — TraceSource. "Debug/Trace" — это от бедности первого фреймворка. N_P>Каюсь — TraceSource прошел мимо. Но как я бегло посмотрел — это просто расширение Debug/Trace — удобнее, перегрузок больше. Конфигурация почти та же.
И чем же, позвольте поинтересоваться, "Debug/Trace — удобнее" — "перегрузками"? Не на то смотрите. Тогда, конечно, и запорожец удобнее хаммера — их больше в гараж въезжает.
Help will always be given at Hogwarts to those who ask for it.
Здравствуйте, _FRED_, Вы писали:
_FR>А что мешает написать TraceListener, который будет писать "в базу данных, например" и работать с ним стандартным образом через TraceSource?
Ты с log4net работал? Там вся суть в фильтрах, а не в аппендерах.
Здравствуйте, _FRED_, Вы писали:
N_P>>Именно серьезно — не просто в файл "до востребования", а в базу данных, например. И что-б админ переодически просматривал на предмет предупреждений ? N_P>>Что-то настораживает при уже 5-ти летней давности проекте полное отсутствие GUI для настройки конфигов. Может все на него давно забили и забросили ? N_P>>Или кто иные системы логирования и оповещения использует ?
_FR>А что мешает написать TraceListener, который будет писать "в базу данных, например" и работать с ним стандартным образом через TraceSource?
А зачем страдать "велосипедизмом" ? В смысле — реализовывать все эти механизмы заново и идти по тем же граблям ? У нас уже есть неплохая, но узкозаточенная система логирования — мы просто смотрим в сторону стандартных — не перейти ли на одну из них. Можно коммерческих.
Здравствуйте, IT, Вы писали:
N_P>>GUI configuration tool для него есть ? IT>Какой ещё GUI? У l4n свободный формат логов.
Для настроек в какую директорию писать, каковы лимиты, куда слать письма, где база данных и какой к ней пароль. Все то, что выставляет конечный админ под свои нужды.
Здравствуйте, Nikolay_P_I, Вы писали:
N_P>>>GUI configuration tool для него есть ? IT>>Какой ещё GUI? У l4n свободный формат логов.
N_P>Для настроек в какую директорию писать, каковы лимиты, куда слать письма, где база данных и какой к ней пароль. Все то, что выставляет конечный админ под свои нужды.
И что такой GUI будет редактировать, app.config?
Если нам не помогут, то мы тоже никого не пощадим.
_FR>>>А что мешает написать TraceListener, который будет писать "в базу данных, например" и работать с ним стандартным образом через TraceSource?
N_P>>А зачем страдать "велосипедизмом" ? В смысле — реализовывать все эти механизмы заново и идти по тем же граблям ?
_FR>Какие конкретно механизмы и почему заново? Заново по сравнению с чем? Добавить строчку в БД или отправить письмо — это вы "велосипедизмом" называете?
Ну так сам TraceListener писать ? Писать. Конфигуратор строки подключения писать ? — писать.
Что остается ? Использование стандартных Debug/Trace(level) вместо своих static Log.WriteLine(...) ? В чем смысл ? Нормальный Listener написать — намного сложнее, чем свой static для его вызова.
N_P>>У нас уже есть неплохая, но узкозаточенная система логирования — мы просто смотрим в сторону стандартных — не перейти ли на одну из них. Можно коммерческих. _FR>Так почему бы не начать с самой стандартной из тех, что может быть?
Здравствуйте, IT, Вы писали:
N_P>>>>GUI configuration tool для него есть ? IT>>>Какой ещё GUI? У l4n свободный формат логов.
N_P>>Для настроек в какую директорию писать, каковы лимиты, куда слать письма, где база данных и какой к ней пароль. Все то, что выставляет конечный админ под свои нужды.
IT>И что такой GUI будет редактировать, app.config?
А что такого ? Как я прочитал (может что то не так понял) — это наружный способ конфигурации NLog.
Кто его будет редактировать ? User ? Да его к app.config на пушечный выстрел подпускать нельзя.
Мы через configuration API из своей программы ? Теряется гибкость внешней системы логирования — будет завязка только на то, что необходимо. Появится новый Target — не сконфигуришь. А отсутствие GUI библиотек или программ для обобщенного конфигурирования — верный признак, что им особо никто не занимается.
Здравствуйте, _FRED_, Вы писали:
_FR>То есть я прав: _FR>
Добавить строчку в БД или отправить письмо — это вы "велосипедизмом" называете?
_FR>Это же и есть листенер. ИМХО, написать кастомный листенер, который нужную вам строчку вставит в БД или отправит письмом (возможно, хитро и красиво оформленным) буудет быстрее, чем разобраться тем, как настроить в том же лог4нете требуемый формат. Это не тот елосипедизм, которого следет избег. Это мелочи. И своём кастомном листнере я смогу сформировать письмо красивее и подробнее, чем вы в дефолтовом в любой готовой системе логирования.
То есть для вас вот так написать потокобезопасный, буферизируемый (с защитой от переполнения), отказоустойчивый (в том числе от временного и не очень отключения базы данных) и быстрый листенер "намного проще" ? А потом еще пару таких хотя бы для писем и файлов (с защитой от переполнения) ? Снимаю шляпу — мы не настолько круты и надеемся на сторонние продукты.
N_P>>Конфигуратор строки подключения писать ? — писать. _FR>Это опять из раздела ГУИ?
Да. Это важно. Пользователи не то что его хотят — требуют. Даже махровые админы.
N_P>>Что остается ? Использование стандартных Debug/Trace(level) вместо своих static Log.WriteLine(...) ? В чем смысл ? Нормальный Listener написать — намного сложнее, чем свой static для его вызова. _FR>Почему сложнее? Вот видно уже, что вы просто не пробовали, а вам уже не нравится. Да и читали не достаточно внимательно. Никаких "Debug/Trace" — TraceSource. "Debug/Trace" — это от бедности первого фреймворка.
Каюсь — TraceSource прошел мимо. Но как я бегло посмотрел — это просто расширение Debug/Trace — удобнее, перегрузок больше. Конфигурация почти та же.
Здравствуйте, adontz, Вы писали:
A>Да, проект скорее мёртв, чем жив. N_P>>Или кто иные системы логирования и оповещения использует?
A>Перешёл на NLog.
+1 за NLog. Тоже перешел. Практически ничего в исходниках менять не пришлось, только конфиг
Здравствуйте, QrystaL, Вы писали:
N_P>>Или кто иные системы логирования и оповещения использует ?
QL>Enterprise Library. Основано на стандартных средствах System.Diagnostics, можно использовать в сочетании с Policy Injection.
Как я понял оно требует инсталляции чего-то на машине. Нам категорически не подходит — некоторые заказчики требуют установки копированием.
Здравствуйте, Nikolay_P_I, Вы писали:
N_P>>>Что остается ? Использование стандартных Debug/Trace(level) вместо своих static Log.WriteLine(...) ? В чем смысл ? Нормальный Listener написать — намного сложнее, чем свой static для его вызова. _FR>>Почему сложнее? Вот видно уже, что вы просто не пробовали, а вам уже не нравится. Да и читали не достаточно внимательно. Никаких "Debug/Trace" — TraceSource. "Debug/Trace" — это от бедности первого фреймворка.
N_P>Каюсь — TraceSource прошел мимо. Но как я бегло посмотрел — это просто расширение Debug/Trace — удобнее, перегрузок больше. Конфигурация почти та же.
Выделенное говорит о том, что после того, как вы попросили совета, получили ответ — вы не стесняетесь говорить о том, что совет вам не подходит, _выдумывая_ причины, хотя с тем, что вам посоветовали даже не удосужили ознакомиться. Давать ещё какие-то советы после такого отношения уже как-то не охота. Желаю удачи в поиске логгера со встроенным ГУИ.
Help will always be given at Hogwarts to those who ask for it.
Здравствуйте, _FRED_, Вы писали:
N_P>>То есть для вас вот так написать потокобезопасный, буферизируемый (с защитой от переполнения), отказоустойчивый (в том числе от временного и не очень отключения базы данных) и быстрый листенер "намного проще" ? А потом еще пару таких хотя бы для писем и файлов (с защитой от переполнения) ? Снимаю шляпу — мы не настолько круты и надеемся на сторонние продукты.
_FR>Какая потокобезопастность вам нужна в листенере, который пишет в БД или отправляет письмо?
То есть по остальным пунктам — возражений нет ?
N_P>>>>Конфигуратор строки подключения писать ? — писать. _FR>>>Это опять из раздела ГУИ? N_P>>Да. Это важно. Пользователи не то что его хотят — требуют. Даже махровые админы.
_FR>Вы сначала покажите хоть один Гуй из того, что вам подошёл бы, а потом скажите, что в нём такого, чего нельзя сделать хотя бы за два-три дня.
Ну так изначальный посыл в том и был — раз нет на рынке этих "чего нельзя сделать хотя бы за два-три дня", то есть подозрение, что такая системы вообще кем-то серьезно используется, иначе бы или выложили на sourceforge или продавали бы. Ну или все ее преимущества в виде многих вариантов логирования — чисто для галочки, а в реальности все кто их использует — жестко конфигурят ее в своем коде из своих конфигов.
А раз листенеры писать самим, гуй писать самим — то может логично сделать третий шаг и статики занесения в лог написать самим и не использовать сторонние системы вообще, а продолжать юзать свою.
N_P>>>>Что остается ? Использование стандартных Debug/Trace(level) вместо своих static Log.WriteLine(...) ? В чем смысл ? Нормальный Listener написать — намного сложнее, чем свой static для его вызова. _FR>>>Почему сложнее? Вот видно уже, что вы просто не пробовали, а вам уже не нравится. Да и читали не достаточно внимательно. Никаких "Debug/Trace" — TraceSource. "Debug/Trace" — это от бедности первого фреймворка. N_P>>Каюсь — TraceSource прошел мимо. Но как я бегло посмотрел — это просто расширение Debug/Trace — удобнее, перегрузок больше. Конфигурация почти та же.
_FR>И чем же, позвольте поинтересоваться, "Debug/Trace — удобнее" — "перегрузками"? Не на то смотрите. Тогда, конечно, и запорожец удобнее хаммера — их больше в гараж въезжает.
Я, собственно, про отличия TraceSource от старого Debug/Trace — на беглый взгляд TraceSource немного удобнее, но и только.
N_P>>>>Что остается ? Использование стандартных Debug/Trace(level) вместо своих static Log.WriteLine(...) ? В чем смысл ? Нормальный Listener написать — намного сложнее, чем свой static для его вызова. _FR>>>Почему сложнее? Вот видно уже, что вы просто не пробовали, а вам уже не нравится. Да и читали не достаточно внимательно. Никаких "Debug/Trace" — TraceSource. "Debug/Trace" — это от бедности первого фреймворка.
N_P>>Каюсь — TraceSource прошел мимо. Но как я бегло посмотрел — это просто расширение Debug/Trace — удобнее, перегрузок больше. Конфигурация почти та же.
_FR>Выделенное говорит о том, что после того, как вы попросили совета, получили ответ — вы не стесняетесь говорить о том, что совет вам не подходит, _выдумывая_ причины, хотя с тем, что вам посоветовали даже не удосужили ознакомиться. Давать ещё какие-то советы после такого отношения уже как-то не охота. Желаю удачи в поиске логгера со встроенным ГУИ.
Ничуть. Я честно написал, что не был знаком с этим TraceListener, честно его посмотрел в MSDN и честно написал что я про него понял (возможно не все). По хорошему надо-бы его поразбирать пару дней, но я понадеялся, что раз уж обсуждение идет почти в on-line, то мне сразу укажут что я не понял и просмотрел, а не напишут "сам дурак". Жаль.
Здравствуйте, Nikolay_P_I, Вы писали:
N_P>GUI configuration tool для него есть ? На их форуме последний вопрос на этот счет от 2007 года, да и тот остался без ответа. На мой взгляд — если не существует ни встроенных, ни свободных ни коммерческих средств для редактирования конфигурации конечным пользователем или администратором — системой реально, для серьезных продуктов — не пользуются.
Поддержка в VS. Про отдельную GUI программу не знаю. Да и не представляю чтобы конфигурация такого вида через GUI редактировалась проще, чем непосредственно.
Здравствуйте, adontz, Вы писали:
N_P>>GUI configuration tool для него есть ? На их форуме последний вопрос на этот счет от 2007 года, да и тот остался без ответа. На мой взгляд — если не существует ни встроенных, ни свободных ни коммерческих средств для редактирования конфигурации конечным пользователем или администратором — системой реально, для серьезных продуктов — не пользуются.
A>Поддержка в VS. Про отдельную GUI программу не знаю. Да и не представляю чтобы конфигурация такого вида через GUI редактировалась проще, чем непосредственно.
Ну а вещи, специфические для каждого места типа шары, куда лог идет, адреса клиента и пароля к базе данных — как задаются ? Фильтры, уровни, типы targets — ладно, их один раз в коде прописать можно.
Здравствуйте, Nikolay_P_I, Вы писали:
N_P>Ну а вещи, специфические для каждого места типа шары, куда лог идет, адреса клиента и пароля к базе данных — как задаются ? Фильтры, уровни, типы targets — ладно, их один раз в коде прописать можно.
Здравствуйте, Nikolay_P_I, Вы писали:
N_P>>>То есть для вас вот так написать потокобезопасный, буферизируемый (с защитой от переполнения), отказоустойчивый (в том числе от временного и не очень отключения базы данных) и быстрый листенер "намного проще" ? А потом еще пару таких хотя бы для писем и файлов (с защитой от переполнения) ? Снимаю шляпу — мы не настолько круты и надеемся на сторонние продукты. _FR>>Какая потокобезопастность вам нужна в листенере, который пишет в БД или отправляет письмо? N_P>То есть по остальным пунктам — возражений нет ?
Вывод не верный. А моё возражение — по существу. Буферизация/отказоустойчивость/быстрота возражения того же уровня компетенции, что и "потокобезопастность". Если нет желания продолжать в продуктивном направлении — значит нет.
_FR>>Вы сначала покажите хоть один Гуй из того, что вам подошёл бы, а потом скажите, что в нём такого, чего нельзя сделать хотя бы за два-три дня. N_P>Ну так изначальный посыл в том и был — раз нет на рынке этих "чего нельзя сделать хотя бы за два-три дня", то есть подозрение, что такая системы вообще кем-то серьезно используется, иначе бы или выложили на sourceforge или продавали бы.
Вывод опять же не верный. Гораздо проще написать ускоспециализированную смотрелку/настройку, чем всеобъемлющую, да ещё и приличного качества. В EL попробовали. А вы её, видимо, даже не запускали.
N_P>Ну или все ее преимущества в виде многих вариантов логирования — чисто для галочки, а в реальности все кто их использует — жестко конфигурят ее в своем коде из своих конфигов.
Неправильные, поспешные выводы вы делаете. Есть и другие, более правдоподобные варианты ответов. Например тот, о котором я говорю — написать за несколько дней необходимые листенеры+гуй в конкретной ситуации гораздо выгоднее во всех отношениях разбирания с чем-то сторонним, тем более давно не поддерживаемым.
Help will always be given at Hogwarts to those who ask for it.
Здравствуйте, Nikolay_P_I, Вы писали:
N_P>Ничуть. Я честно написал, что не был знаком с этим TraceListener, честно его посмотрел в MSDN и честно написал что я про него понял (возможно не все). По хорошему надо-бы его поразбирать пару дней, но я понадеялся, что раз уж обсуждение идет почти в on-line, то мне сразу укажут что я не понял и просмотрел, а не напишут "сам дурак". Жаль.
"сам дурак" было написано от того, что вы стали возражать не обосновано (на основании беглого, ни к чему не преведшего, осмотра) прежде, чем ознакомились как следует с тем, что нужно. Если бы вы повели разговор в ключе "А как X и Y", а не "А зачем страдать "велосипедизмом" ?", то увидели бы совсем другую реакцию.
Help will always be given at Hogwarts to those who ask for it.
Здравствуйте, _FRED_, Вы писали:
_FR>"сам дурак" было написано от того, что вы стали возражать не обосновано (на основании беглого, ни к чему не преведшего, осмотра) прежде, чем ознакомились как следует с тем, что нужно. Если бы вы повели разговор в ключе "А как X и Y", а не "А зачем страдать "велосипедизмом" ?", то увидели бы совсем другую реакцию.
Ну вот написал я соображения по поводу того, что надо от системы логирования — в ответ получил:
"Вывод не верный. А моё возражение — по существу. Буферизация/отказоустойчивость/быстрота возражения того же уровня компетенции, что и "потокобезопастность". Если нет желания продолжать в продуктивном направлении — значит нет."
Что я могу из этого понять, кроме того, что вы считаете, что эти требования должен обеспечивать не листенер ? А кто их будет обеспечивать кроме него ? TraceSource и внутренний механизм фреймвока ? А он обеспечивает ? Логирование через EL (судя про прочитанным мной статьям) — нет, кидает исключения. Скажи вы прямо — "мы работали, листенеры просты, а TraceSource обеспечивает устойчивость" и все, направление указано, большое вам спасибо. У вас же ответ "ИМХО проще написать". Вопрос-то "кто серьезно пользуется" — про практику, а не теорию. Потому и сомневаюсь в правильности указанного направления. Листенеры подключаются, вроде, с FW 1.1 и наличие log4net, nlog, EL говорит о том, что с ними — не все хорошо. Могу быть неправ, да.
Насчет EL, что-бы 2 письма не писать — нет, не смотрел, меня испугали обзоры и сранения, где указывалось, что ей необходимо что-то устанавливать, а для нас это неприемлимо. В этой теме мне подсказали, что это не так — будем смотреть.
Здравствуйте, adontz, Вы писали:
N_P>>Ну а вещи, специфические для каждого места типа шары, куда лог идет, адреса клиента и пароля к базе данных — как задаются ? Фильтры, уровни, типы targets — ладно, их один раз в коде прописать можно.
A>Всё очень похоже и совместимо с log4net.
Спасибо, но мы как-раз хотели log4net попробовать и с ней знакомы совсем немного, а тут nlog посоветовали. Поделитесь опытом — вы как и где эти настройки делаете ? А пользователи ваши ?
Здравствуйте, Nikolay_P_I, Вы писали:
A>>Всё очень похоже и совместимо с log4net. N_P> Спасибо, но мы как-раз хотели log4net попробовать и с ней знакомы совсем немного, а тут nlog посоветовали. Поделитесь опытом — вы как и где эти настройки делаете ? А пользователи ваши ?
У NLog отдельный файл. Это удобнее, можно послать файл и попросить перезаписать его целиком. Можно иметь несколько конфигов на разные случаи жизни. Тонкая настройка нужна крайне редко.
Я настройки описываю в VS, пользователи этим вообще не знаняты. В любом случае формат открыт и документирован, любой XML редактор подойдёт.
Здравствуйте, Nikolay_P_I, Вы писали:
N_P>Именно серьезно — не просто в файл "до востребования", а в базу данных, например. И что-б админ переодически просматривал на предмет предупреждений ?
N_P>Что-то настораживает при уже 5-ти летней давности проекте полное отсутствие GUI для настройки конфигов. Может все на него давно забили и забросили ?
N_P>Или кто иные системы логирования и оповещения использует ?
Используем log4net в связке с Log4View.
Логи пишутся в
— RollingFile, отдельный для каждого exe
— один общий файл для критичных сообщений
— веб сервис
Вся основная конфигурация в отдельном файле.
Тонкая настройка фильтров/параметров в зависимости от типа билда — debug/release/...
Особых проблем нет. Единственно жалко, что нет стандартного AsyncForwardingAppender'a но пару готовых вариантов можно найти в инете.
A>У NLog отдельный файл. Это удобнее, можно послать файл и попросить перезаписать его целиком. Можно иметь несколько конфигов на разные случаи жизни. Тонкая настройка нужна крайне редко.
A>Я настройки описываю в VS, пользователи этим вообще не знаняты. В любом случае формат открыт и документирован, любой XML редактор подойдёт.
Ну так этот-то и смущает. Пользователи хотят нечто более удобное, чем "любой XML редактор".
Спрошу тогда с другой стороны — а при чтении стандартными средствами это конфигурационный файл в настроечный объект превращается ? Ну то есть для того что-бы свой конфигуратор написать ?
Здравствуйте, Nikolay_P_I, Вы писали:
N_P>Ну так этот-то и смущает. Пользователи хотят нечто более удобное, чем "любой XML редактор". N_P>Спрошу тогда с другой стороны — а при чтении стандартными средствами это конфигурационный файл в настроечный объект превращается ? Ну то есть для того что-бы свой конфигуратор написать ?
Чтение выполняяется внутри библиотеки, настроечного объекта нет. Но есть XML схема, можно на неё натравить xsd.exe.