Comments 30
UFO just landed and posted this here
Зачем же все сразу вываливать. Лучше постепенно, раз в неделю, например или через день. Есть возможность попробовать, обсудить.
А представьте себе человека, который asp.net совсем не интересуется, а у него вся лента им забита.
А представьте себе человека, который asp.net совсем не интересуется, а у него вся лента им забита.
99.9% уроков, которые выкладывались по хабре, редко состояли больше, чем из одной части, и крайне редко — больше, чем из трех частей. По каким-то причинам обычно авторы не выкладывают продолжение курса обучения дальше «Часть 1», а тут сразу все. Я считаю, автор сделал все правильно, за что ему большое спасибо!
NLog очень медленный. Под нагрузкой логгировать не позволит.
Я делал свой логгер, работает быстрее чем log4net в 6-8 раз. NLog же еще на порядок(раз в 10) медленнее, чем log4net.
Я делал свой логгер, работает быстрее чем log4net в 6-8 раз. NLog же еще на порядок(раз в 10) медленнее, чем log4net.
Скажите, а есть какие-нибудь сравнительные тесты. Я сейчас выбираю логгер, хотелось бы выбрать достаточно быстрый. Неужели придется писать свой?
Я писал свой логгер. habrahabr.ru/post/151641/
Правда я допустил ошибку, надо было log4net с NLog сравнить еще до начала.
Пропорции у времени выполнения примерно такие: 3 потока бросают по 200 тысяч сообщений каждый. мой логгер отрабатывает меньше чем за полсекунды, log4net 2-3 секунды, у NLog уже время в минутах измеряется. Пишутся одинаковые лог-файлы при этом.
Результаты различаются на разных ОС, на разных процессорах(AMD, Intel), ну и варьируются в зависимости от количества потоков.
Я хотел еще взять сразу все три логгера и сделать сравнение, но уже было лень статью править, картинки вставлять, читательского энтузиазма не встретил, чтоб помог лень побороть.
Еще один плюс — и NLog и log4net делают практически все действия в вызывающем потоке, мой же логгер сразу кладет сообщение в ConcurrentQueue, все остальное делается в выделенном потоке. Для веб приложений это важно, поскольку уменьшает время обработки каждого запроса. То есть оно работает как с логгером, так и без логгера практически одинаково, что позволяет включать логи под нагрузкой и не стесняться при этом в удобрении кода логами.
Правда я допустил ошибку, надо было log4net с NLog сравнить еще до начала.
Пропорции у времени выполнения примерно такие: 3 потока бросают по 200 тысяч сообщений каждый. мой логгер отрабатывает меньше чем за полсекунды, log4net 2-3 секунды, у NLog уже время в минутах измеряется. Пишутся одинаковые лог-файлы при этом.
Результаты различаются на разных ОС, на разных процессорах(AMD, Intel), ну и варьируются в зависимости от количества потоков.
Я хотел еще взять сразу все три логгера и сделать сравнение, но уже было лень статью править, картинки вставлять, читательского энтузиазма не встретил, чтоб помог лень побороть.
Еще один плюс — и NLog и log4net делают практически все действия в вызывающем потоке, мой же логгер сразу кладет сообщение в ConcurrentQueue, все остальное делается в выделенном потоке. Для веб приложений это важно, поскольку уменьшает время обработки каждого запроса. То есть оно работает как с логгером, так и без логгера практически одинаково, что позволяет включать логи под нагрузкой и не стесняться при этом в удобрении кода логами.
Хотел попробовать asp.net и не решался, теперь буду дерзать.
Не хватает главы про deployment
Столкнулся с проблемой при установке WebActivator в Package Manager Console.
Visual Studio 2012 Express for Web.
В чем может быть проблема?
Visual Studio 2012 Express for Web.
В чем может быть проблема?
Идея туториала хорошая, но есть моменты совершенно не очевидные.
Например:
1. Вы пишете:
2.
Например:
1. Вы пишете:
«После установки пользуемся документацией на NLog и добавляем в Web.config:».Куда бы в Web.Config я не добавлял этот кусок XML — IIS падает при запуске проекта. Долго мучался, пока не нашел на сайте что можно создать файл NLog.config и положить это все туда.
2.
«Добавим в код (Global.asax.cs):»тут вы во всех методах используете объект logger, про инициализацию его не сказано ничего, хотя следовало бы, т.к. очевидный путь инициализации, такой как
Logger logger = new Logger();
недоступен. Как пользователь должен догадатся, что надо вызвать LogManager.GetCurrentClassLogger();
для инициализации?Да, я согласен, что не очевидно. Для этого я добавил исходники, т.е. если пробовать их запускать, и сравнивать, то можно найти как это работает. По поводу второго — там дальше есть по тексту инициализация, возможно в первых редакциях этот абзац был выше, а потом я не уследил.
Я исправил текст, чтобы это стало очевидно. Если в дальнейшем будут еще какие-то подобные случаи, то сообщите мне, я их буду править.
Я исправил текст, чтобы это стало очевидно. Если в дальнейшем будут еще какие-то подобные случаи, то сообщите мне, я их буду править.
Раз речь зашла про логи, хотел бы добавить, что хранение логов в формате .txt не самая лучшая идея.
Так как по умолчанию сервер IIS (при настройках отдачи статического содержимого) вернет ваши логи расположенные в каталоге приложения пытливому пользователю или поисковой машине. А на сервере хостера, никто в директорию c:\ сохранить не даст.
Как решение, нужно использовать специальные системные каталоги или настроить сервер для блокировки отдачи соответствующего содержимого — файлы с расширением *.log относятся как раз к таким.
Так как по умолчанию сервер IIS (при настройках отдачи статического содержимого) вернет ваши логи расположенные в каталоге приложения пытливому пользователю или поисковой машине. А на сервере хостера, никто в директорию c:\ сохранить не даст.
Как решение, нужно использовать специальные системные каталоги или настроить сервер для блокировки отдачи соответствующего содержимого — файлы с расширением *.log относятся как раз к таким.
Это конечно доволоно странно, но после полутора часов постоянных экспериментов с конфигурационным файлом, установкой-удалением кучи LogViewer-ов у меня так и не заработал NLogViewer таргет. Т.е. я не смог увидеть «вживую» обновление файла лога через Log2Console, как у вас на красивом скриншоте (файловый таргет работает прекрасно). Делаю все ДОСКОНАЛЬНО как у вас. Файрвол отключал — не помогло. Пробовал указать вместо tcp4 просто tcp. Пробовал поставить тип Network вместо NLogViewer. Что может быть не так?
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<variable name="logDirectory" value="C:/Temp/Content/Logs/${shortdate}" />
<targets>
<target name="logFile" xsi:type="File" fileName="${logDirectory}/file.log" />
<target name="tcpOutlet" xsi:type="NLogViewer" address="tcp4://localhost:4505"/>
</targets>
<rules>
<logger name="*" minlevel="Info" writeTo="logFile,tcpOutlet" />
</rules>
</nlog>
Какое-то странное название класса-родителя (NinjectHttpApplication):
public class MvcApplication : NinjectHttpApplication
{
private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();
А нет ли возможности для новичков подсказать как правильно установить и заставить работать Log2Console с редактором? А то не очень понятно что и куда.
Спасибо.
Спасибо.
Вам, собственно, даже не очень понятно, что и куда спрашивать
Ой! Спасибо за Ваше остроумное хамство! Вы прям определились ) Рад был помочь)
А почему сразу хамство? Я никому не хамил, а сарказм в ответ на комментарий-оффтопик в теме пятилетней давности — вещь вполне уместная. В интернетах разве профильных форумов мало, где как раз и отвечают на вопросы?
При чём тут срок? Хабр, в том числе, является обучающим ресурсом. Тем более, что статья в своём названии содержит слово «урок». Я стараюсь обучиться, что и так не легко даётся. Обрадовался наличию материала в едином месте, наткнулся на непонятное, спросил… а вместо ссылки, ответа, комментария по вопросу, получаю этот мусор, засоряющий ветку с моим важным для меня вопросом.
Вот Ваш комментарий он зачем? Для чего Вы влезли туда, где всё равно от Вас нет толку, а только вред?
Вы для чего это написали?
«Человек использует хамство в общении с целью явной демонстрации своего превосходства.»
Вот, хам Вы, и всё )
Вот Ваш комментарий он зачем? Для чего Вы влезли туда, где всё равно от Вас нет толку, а только вред?
Вы для чего это написали?
«Человек использует хамство в общении с целью явной демонстрации своего превосходства.»
Вот, хам Вы, и всё )
Вот Ваш комментарий он зачем?
Мой комментарий затем, чтобы вам дать понять, что задавать вопросы в давно всеми заброшенных и покрытых мхом темах — занятие откровенно дурацкое. Тем более что даже на Хабре есть отдельный раздел для вопросов по разным темам. И да, как ни странно, это тоже полезная для вас информация, раз вы стараетесь обучиться. А если вам не понравился способ подачи информации, ну уж извините, зато это было бесплатно :-Р
засоряющий ветку с моим важным для меня вопросом.
Извините, я забыл, это же ваш личный Интернет, тут принято отвечать именно там, где вы пожелаете, и именно так, как вам будет удобнее ;)
Перестала работать ссылка с примером.
Sign up to leave a comment.
ASP.NET MVC Урок 1. Начало