Здравствуйте, 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.