Ruby on Rails → MongodbLogger — складываем логи вашего Rails 3 приложения в MongoDB

Привет всем. Сегодня я поведаю о своей разработке для Rails 3 — MongodbLogger. Начнем по порядку.
Rails приложение по-умолчанию складывает логи запросов в папку logs. Сами по себе логи очень удобная штука — они помогают посмотреть какие запросы идут в ваше приложение, посмотреть trace ошибки и прочее. В них можно дописывать дополнительную информацию. Хотя файловый лог прост и эффективен, но у него есть определенные ограничения: при использовании множество веб-серверова, лог у каждого свой; нет простого доступа. Запись в РСУБД решает вопросы централизации и простого доступа логов, но сразу возникают другие проблемы: схема таблицы не настолько гибка, как может быть структура лога; запись может быть недостаточно быстра; чистка старых логов — задачи на Ваших плечах. И тут на помощь приходит MongoDB.
IP-телефония → Логирование и тарификация исходящих вызовов для АТС Avaya из песочницы
Хочу поделиться опытом настройки логирования вызовов в корпоративной телефонной сети, построенной на базе решений Avaya Aura (под управлением Communication Manager – далее CM). Данные собираются на основе CDR (Call Detail Recording). Эта статья носит обзорный характер, в ней я описываю основные принципы решения возникшей задачи.
В моей компании используется распределенная по территории РФ телефонная сеть с более чем 5000 IP-станций (телефонных аппаратов, используемых сотрудниками). Задачей стояло написание логгера исходящих внешних (направленных в ТфОП) вызовов от внутренних абонентов (включая тандемные вызовы) с последующим добавлением функциональности тарификатора. Внутренние звонки (внутри телефонной сети) и входящие – не интересовали, но описываемый метод сбора информации позволяет обрабатывать и такие типы вызовов. Существует несколько готовых коммерческих решений для тарификации вызовов, некоторые из них нам довелось протестировать в своей компании, но зачастую стоимость этих продуктов не соответствовала уровню удобства использования и качества реализации.
В моей компании используется распределенная по территории РФ телефонная сеть с более чем 5000 IP-станций (телефонных аппаратов, используемых сотрудниками). Задачей стояло написание логгера исходящих внешних (направленных в ТфОП) вызовов от внутренних абонентов (включая тандемные вызовы) с последующим добавлением функциональности тарификатора. Внутренние звонки (внутри телефонной сети) и входящие – не интересовали, но описываемый метод сбора информации позволяет обрабатывать и такие типы вызовов. Существует несколько готовых коммерческих решений для тарификации вызовов, некоторые из них нам довелось протестировать в своей компании, но зачастую стоимость этих продуктов не соответствовала уровню удобства использования и качества реализации.
C++ → Знакомство с библиотекой логирования Apache log4cxx
Чуть ранее мы рассмотрели библиотеку логирования Pantheios. Пришла очередь ознакомится с более известной Apache log4cxx. Библиотека является имплементаций принципов и механизмов из log4j (библиотека логирования Java) на языке C++. Проект выглядит «мертвым», по крайней мере круных изменений в течение последнего года не наблюдается, впрочем это не повод не посмотреть (а может быть и использовать) эту библиотеку.
C++ → Знакомство с библиотекой логирования Pantheios
Всем так или иначе приходилось встраивать в свою программу систему логирования. Многие пишут свою, т.к. считают что умнее других её наиболее оптимальной. Другие же используют готовые библиотеки, которые могут сильно упростить жизнь.
Сегодня я хотел бы рассказать про библиотеку логирования Pantheios, которая обладает по заверению создателей большой скорость работы, мультипоточностью, поддержкой unicode и одновременного вывода в разные получатели логов.
Сегодня я хотел бы рассказать про библиотеку логирования Pantheios, которая обладает по заверению создателей большой скорость работы, мультипоточностью, поддержкой unicode и одновременного вывода в разные получатели логов.
DIY или Сделай Сам → Создаем хардварный логгер клавиатуры
У тебя наверняка не раз возникала ситуация, когда программные логгеры клавы не могли решить поставленных задач. Например, отловить пароль от биоса с помощью программного кейлоггера, загружаемого системой, невозможно. Лично я столкнулся с подобной проблемой, когда мне нужно было узнать админский пароль в локальной сети одной фирмы. Тогда я и подумал, что было бы очень круто сделать «железный» логгер, который бы подключался между клавиатурой и компьютером и ловил все нажатые клавиши, начиная с включения компьютера. В предлагаемой статье изложены принципы работы PS/2 интерфейса, и перехват данных, передаваемых по нему.

Парочка аппаратных логгеров клавиатуры
Для того чтобы сконструировать подобное устройство, сначала нужно разобраться с тем, как же работает клавиатура. Есть два основных типа клавиатур: АТ (старый стандарт) и PS/2. Отличаются они только разъемами: АТ имеет DIN, а PS/2 — miniDIN. Первый — большой круглый разъемчик с пятью штырьками, второй — маленький, как у мышки, с шестью пинами. По протоколу обмена они полностью совместимы. Наверняка, ты видел переходники с широких старых разъемов на новые маленькие. Этот стандарт появился еще в 1984 году вместе с первым персональным компьютером IBM PC и используется по сей день, практически не претерпев никаких изменений.

Парочка аппаратных логгеров клавиатуры
Принципы
Для того чтобы сконструировать подобное устройство, сначала нужно разобраться с тем, как же работает клавиатура. Есть два основных типа клавиатур: АТ (старый стандарт) и PS/2. Отличаются они только разъемами: АТ имеет DIN, а PS/2 — miniDIN. Первый — большой круглый разъемчик с пятью штырьками, второй — маленький, как у мышки, с шестью пинами. По протоколу обмена они полностью совместимы. Наверняка, ты видел переходники с широких старых разъемов на новые маленькие. Этот стандарт появился еще в 1984 году вместе с первым персональным компьютером IBM PC и используется по сей день, практически не претерпев никаких изменений.
Персональные блоги → iFLogger, агрегатор логов для флеш разработчика
Любой разработчик занает, без отладки некоторые проекты собрать невозможно. Касается это любого программиста для любого языка под любую платформу.
Являясь флеш-разработчиком, мне довольно часто приходилось использовать сначала системный trace(), а затем и Debug.trace() для вывода логов в отдельное, всегда доступное окно. Конечно есть и другие способы…
Являясь флеш-разработчиком, мне довольно часто приходилось использовать сначала системный trace(), а затем и Debug.trace() для вывода логов в отдельное, всегда доступное окно. Конечно есть и другие способы…
JAVA → EDL — Enterprise Dynamic Logger
Долго думал в какой блог можно поместить этот топик: в «Я пиарюсь» или «Java», но остановился на «Java», чтобы получить максимальное количество отзывов и предложений да еще и максимально профессиональных.
Итак, представляю вам Enterprise Dynamic Logger (EDL).
EDL — это тул/фреймворк для несколько другой парадигмы логгинга. В основном нужен для работы в условиях, когда код на сервере менять нельзя и сам сервер перезагружать тоже нельзя. Т.е. production environment.
Итак, представляю вам Enterprise Dynamic Logger (EDL).
EDL — это тул/фреймворк для несколько другой парадигмы логгинга. В основном нужен для работы в условиях, когда код на сервере менять нельзя и сам сервер перезагружать тоже нельзя. Т.е. production environment.
Silverlight → Логирование по-быстрому
Потребовалось тут отследить актуальное состояние часто меняющегося элемента. Было подозрение, что его кто то обнуляет. Сразу же отмел варианты с написанием логирования через файловую систему: Сильверлайту не разрешено писать, куда ему захочется. Поэтому был написан небольшой расширяющий метод, который выводит отладочную информацию в консоль браузера.