Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

log4php или что-то другое?

Чулан
Вот столкнулся с тем что нужно из многих потоков приложения нужно писать в логи в один и тот же файл (нет в базу не подходит)

Рассмотрев варианты с flock — понял что время на то чтобы другой поток получил лок для записи в файл довольно таки велико — отказался.

Нашел проект log4php — это порт на пхп от проекта log4j

Читать дальше →
Всего голосов 1: ↑1 и ↓0 +1
Просмотры685
Комментарии 20

Журналирование действий администраторов

Cisco
Примерно год назад я озаботился журналированием всех действий наших администраторов (а их у нас 5 человек) на Cisco-девайсах.
Как известно, реализуется это на маршрутизаторах с помощью aaa accounting exec, а на PIX/ASA-х с помощью aaa accounting command, причем в обоих случаях только через протокол TACACS+.

Поиск бесплатного TACACS-сервера под Windows (!) не увенчался успехом, в результате чего была написана утилита, которую я и хочу представить Cisco-водам: tacomacc.narod.ru
Подробности настройки сервера и устройств на взаимодействие с ним приведены там же на страничке. Опыт эксплуатации — 1 год на сети из 120 разношерстных устройств (от 1750 до 5350 + PIX-ы/ASA-ы).

Собственно, больше всего хотелось бы получить обратную связь, Ваши соображения и пожелания. Из исходного кода секрета не делаю, но он написан на Паскале, поэтому выкладывать его особого смысла не вижу. Если кого-то он заинтересует — могу передать личной почтой.

Сразу упомяну альтернативные пути:
«родные» исходники от Cisco: ods.com.ua/win/rus/net-tech/c_ios/tacacs.html
и клоны от них: en.wikipedia.org/wiki/TACACS
Всего голосов 6: ↑5 и ↓1 +4
Просмотры6.1K
Комментарии 2

Хитрости с логированием в однопоточных неблокирующих серверах.

Серверная оптимизация
Хочу рассказать об очередном результате моих изысканий в области оптимизации производительности Web-серверов.
На этот раз речь пойдет об оптимизации сложного логирования в однопоточном неблокирующем вэб-сервере.
Читать дальше →
Всего голосов 69: ↑61 и ↓8 +53
Просмотры2.3K
Комментарии 105

Lagger — обработка ошибок и отладка в PHP с закрытыми глазами

PHP
image

Впервые этот инструмент был представлен широкой публике в 2008 году на конференции Highload.ru, после чего был основательно оптимизирован и доработан. О том, что же это за зверь такой и как им удобно пользоваться
читаем далее
Всего голосов 72: ↑42 и ↓30 +12
Просмотры2K
Комментарии 45

Реализация ToString() на С++

C++
Для вывода в лог (да и не только для этого, но это то, с чем я сам столкнулся) нужно конвертировать значение переменной в строку.

В C++ это обычно делается выводом в поток (как вариант — использование boost: lexical_cast<> — что в нашем случае практически одно и тоже).

Для встроенных типов это не проблема, а вот как быть, если нужно вывести скажем std: vector? Увы, но у std: vector нет оператора вывода в поток.

В результате решения этой проблемы написал код, которым хочу поделиться с сообществом.
Читать дальше →
Всего голосов 45: ↑36 и ↓9 +27
Просмотры14.8K
Комментарии 39

Реги: мейлы, капчи, ники и pwd…

Мегаплан
Подписчики корпоративного Twitter-а Мегаплана уже знают, что давно ожидаемый персональный планировщик уже на подходе. Называться он будет не Time-Manager, как предполагалось ранее, а Миниплан. Внутреннее тестирование уже идет полным ходом, и пора его делать доступным извне. Но осталось сделать несколько штрихов и самым жирный штрих на пути к публичности — юзабельная форма этой регистрации.
image
Альтернатив регистрации довольно много, но об этом под катом...
Всего голосов 17: ↑6 и ↓11 -5
Просмотры2.3K
Комментарии 32

Django 1.3 alpha 1

Django
image

Несколько дней назад наконец вышла первая альфа новой ветки Django 1.3. Релиз, разумеется, предназначен не для развёртывания на боевых серверах, а для тестирования нового функционала, выявления всевозможных багов «и всего такого».

Первая альфа может похвастаться небольшим, но приятным улучшением основного функционала, большим количеством устранённых ошибок, а также несколькими изменениями, не совместимыми с предыдущей версией Django 1.2.

Читать дальше →
Всего голосов 38: ↑33 и ↓5 +28
Просмотры760
Комментарии 33

Автоматизация логирования входов в функции

.NET
У нас в компании с незапамятных времен существует гласно-негласное правило о логировании входа в каждую функцию. И ладно бы это ограничивалось простой строчкой Logger.LogEntering() в их начале (хотя, наверное, тоже надоело бы), так еще и наш «замечательный» доморощенный логгер получать названия функций из которых он вызван не умеет, и как следствие, эта единственная строчка разрасталась до эпического Logger.Log(«Classname.FunctionName — Entering») or something like that.

Неудивительно, что под воздействием недавних топиков о Mono.Cecil и родилась задача автоматизации процесса.

Читать дальше →
Всего голосов 40: ↑30 и ↓10 +20
Просмотры3.5K
Комментарии 19

Логирование в Android приложениях

Разработка под Android
Уверен, что всем разработчикам приложений на платформе Android знаком класс Log, позволяющий логировать различные события. По различным причинам, формат записи логов для каждого проекта может отличаться достаточно сильно — начиная от «AAA», «111111» и «I was here» до более-менее внятных — «Opening HTTP connection to habrahabr.ru». Под катом вы найдете пример функции, которая поможет навести порядок в логах.
Данный топик не претендует на оригинальность и универсальность. И поэтому, если в вашем проекте уже существует некий стандарт логирования событий, то смело проходите мимо — топик скорее ориентирован на начинающих разработчиков.
Читать дальше →
Всего голосов 35: ↑28 и ↓7 +21
Просмотры55.9K
Комментарии 14

Знакомство с библиотекой логирования Pantheios

C++
Всем так или иначе приходилось встраивать в свою программу систему логирования. Многие пишут свою, т.к. считают что умнее других её наиболее оптимальной. Другие же используют готовые библиотеки, которые могут сильно упростить жизнь.

Сегодня я хотел бы рассказать про библиотеку логирования Pantheios, которая обладает по заверению создателей большой скорость работы, мультипоточностью, поддержкой unicode и одновременного вывода в разные получатели логов.
читать далее о Pantheios
Всего голосов 19: ↑16 и ↓3 +13
Просмотры4.5K
Комментарии 20

Перенаправление событий Windows (Event Log) на сервер syslog Linux

Системное администрирование
Из песочницы

Вступление


Это статья предназначена для системных администраторов, которые знакомы с Linux и используют семейство этих систем в смешанной среде прекрасно осознавая что разные ОС хороши в разных задачах. Так же она будет интересна всем администраторам, даже тем, кто не знаком с линуксом, своей теоретической частью.

В ней описывается простой и надежный способ (даже скорее простая и надежная сторонняя утилита) для передачи системных событий из Event Log’ов серверов на базе Windows в Linux syslog для удобства централизованного хранения и обработки.

Реалии таковы, что в нынешней корпоративной среде самое эффективное и надежное решение основывается на смешении серверных операционных систем из-за качества и способов решаемых ими задач. Рабочие станции, и, следовательно, групповое ими управление и администрирование проще делать на Active Directory; веб сервер, прокси сервер надежнее поставить на линукс; роутером быстрее сделать что-то из Cisco. Эта объективная реальность, с которой работают администраторы многих средних компаний (особенно знакомые с линуксом, от винды так или иначе им все равно не уйти и зачастую в фирме стоят домен-контроллеры на винде и прокси-сервер и роутер на линуксе) — в мелких фирмах можно обойтись одной виндой, в крупной фирме скорее всего раздельно существует администратор линуксоид и администратор виндузятник умело отвечающие за свои сектора. Так или иначе, эта статья не теоретизирование и не исследование на эту тему, эта статья про конкретную задачу, которая практически всегда приходит в голову любому администратору работающему в таком окружении, а вступление что-то затянулось.
Читать дальше →
Всего голосов 40: ↑37 и ↓3 +34
Просмотры53.8K
Комментарии 17

Управляем журналами событий: Обзор программы NetWrix Event Log Manager 4.0

Netwrix
Недавно мы публиковали пост, посвященный 10 критически важным event ID, мониторинг которых необходимо осуществлять. И, честно говоря, были очень удивлены тому, сколько пользователей скачали нашу программу для управления журналами Event Log Manager, о которой мы писали в самом конце статьи. Поэтому в этом посте мы хотели бы рассказать о том, что из себя представляет программа и какие задачи по управлению журналами помогает решать. Также в конце обзора есть презентация, в которой демонстрируется работа программы. Заинтересованных приглашаем под кат.



Читать дальше →
Всего голосов 5: ↑1 и ↓4 -3
Просмотры8.9K
Комментарии 0

Централизованное журналирование в MongoDB

UltimaПрограммированиеАнализ и проектирование систем
От философий — к матчасти.
Мы занимаемся разработкой ERP системы, оптимизированной для высоких нагрузок. Как следствие — в системе присутствует кластеризация. И каждый из узлов кластера ведет свой лог. В логе пишутся сообщения об ошибках, различные сообщения о ходе выполнения программ от прикладных разработчиков и так далее.
Как мы реализовали журналирование — под катом.
Читать дальше →
Всего голосов 8: ↑5 и ↓3 +2
Просмотры4K
Комментарии 2

Логирование чего угодно в Perl

PerlРазработка веб-сайтовПрограммирование
Tutorial
Проблема выбора

Для логирования сообщений Перл предлагает несколько готовых решений. Все они, как водится, размещены на CPAN'е. По запросу «log» можно найти кучу модулей на все случаи жизни.

Однако, среди всех этих модулей есть один особенный, называется он Log::Any.

Особенность этого модуля для логирования заключается в том, что он не занимается, собственно, логированием. Модуль Log::Any предоставляет программе (и программисту) универсальное API для обращений к другим модулям, которые занимаются непосредственно логированием.

Если вас мучает проблема выбора способа логирования в Перле — эта статья для вас.
Читать дальше →
Всего голосов 25: ↑18 и ↓7 +11
Просмотры16K
Комментарии 16

Мониторинг лог-журналов: Такой уязвимый лог или как подложить свинью коллегам

Информационная безопасностьПрограммированиеАнализ и проектирование системСистемное программирование

Мониторинг или анализ лог-журналов, касается ли это темы безопасности, анализа нагрузки, или создания статистики и аналитики для продажника или кормежки какой-либо нейронной сети, часто связан со множеством проблем.


К сожалению часто связано это и с человеческим фактором, а именно с нежеланием или непониманием некоторых простых довольно вещей многими разработчиками программ, API и сервисов, логирующих в журнал ту самую, так необходимую для мониторинга информацию.
Ниже именно то, как это часто делается и почему так дальше жить нельзя. Мы поговорим про форматы логов, разберем пару примеров, напишем несколько регулярных выражений и т.д…


Дорогие коллеги, конечно же это ваше дело, как и что вы пишете в логи своей программы, однако задуматься только ли для себя вы это делаете, все же стоит… Возможно, кроме вас, на эту строчку сейчас с отчаяньем смотрит какой-нибудь пользователь вашей программы, а то и умный до нельзя, но матерящийся почем зря, бот.


Меня же написать этот пост, заставил очередной фэйл с непростым таким для анализа форматом лога, приведший к очередной "уязвимости", вплоть до написания готового эксплойта в процессе поиска.


И если я этой статьей сподвигну хоть одного разработчика задуматься, — это уже будет большое дело, и возможно, в следующий раз анализируя журналы, писаные его программой, его не помянут грязным словом, а напротив благодарно похвалят.

Люди, включайте мозг ...
Всего голосов 36: ↑36 и ↓0 +36
Просмотры19.2K
Комментарии 18

«Во всех проектах делали именно то, что считали нужным»: Luxoft о Java и не только

JUG Ru GroupJava
В преддверии Joker 2016 продолжаем серию текстов о тех компаниях, в жизни которых Java-разработка точно играет большую роль: спонсорах Joker. В Luxoft нам ответили на очень разные вопросы — от того, какие Java-технологии используют чаще всего, до того, почему предубеждения по поводу аутсорс-разработки неверны.



Нашими собеседниками стали:

  • Олег Золотых, управляющий директор Luxoft Russia
  • Михаил Дружинин, архитектор и лидер архитектурного комьюнити (а также спикер HolyJS 2016)
  • Максим Сячин, Java-разработчик (а также спикер Joker 2016)
  • Анастасия Тихомирова, специалист по маркетингу
Читать дальше →
Всего голосов 24: ↑21 и ↓3 +18
Просмотры12.6K
Комментарии 0

Логирование в Yii 2.0 и PSR-3

Yii

На дворе 2017-ый год и довольно значительная часть сообщества PHP пытается использовать
PSR: PHP standard recommendation, цель которых — дать возможность заменять отдельные части фреймворков. Среди PSR-ов есть PSR-3, в котором описывается интерфейс для логгера. На данный момент существует множество совместимых с PSR-3 библиотек, в числе которых широко применяемый Monolog.


На тему PSR-3 и Yii 2.0 часто задают следующие вопросы:


  1. Почему Yii 2.0 не совместим с PSR-3?
  2. Как мне писать сообщения в совместимый с PSR-3 логгер?
  3. Есть ли в планах сделать логгер Yii совместимым с PSR-3 и выпилить в отдельный пакет?

Разберём каждый подробно.

Читать дальше →
Всего голосов 44: ↑38 и ↓6 +32
Просмотры9.7K
Комментарии 51

Как правильно писать логи (?)

RubyPHPПрограммированиеGo
Тема может и банальная, но когда программа начинает работать как то не так, и вообще вести себя очень странно, часто приходится читать логи. И много логов, особенно если нет возможности отлаживать программу и не получается воспроизвести ошибку. Наверно каждый выработал для себя какие то правила, что, как и когда логировать. Ниже я хочу рассмотреть несколько правил записи сообщений в лог, а также будет небольшое сравнение библиотек логирования для языков php, ruby и go. Сборщики логов и системы доставки не будут рассматриваться сознательно (их обсуждали уже много раз).
Читать дальше →
Всего голосов 25: ↑20 и ↓5 +15
Просмотры43.2K
Комментарии 24

Логирование, интерфейсы и аллокации в Go

BadooВысокая производительностьПрограммированиеGo
Перевод


Привет Хабр. Последний свой пост я публиковал сравнительно недавно, так что вряд ли вы успели забыть, что меня зовут Марко. Сегодня публикую перевод небольшой заметки, которая касается нескольких очень вкусных оптимизаций из еще не вышедшего Go 1.9. Эти оптимизации позволяют генерировать меньше мусора в большинстве программ на Go. Меньше мусора – меньше задержки и затраты на сборку этого мусора.


Эта статья о новых оптимизациях компилятора, которые готовятся к релизу Go 1.9, но я бы хотел начать разговор с логирования.

Читать дальше →
Всего голосов 59: ↑58 и ↓1 +57
Просмотры16.2K
Комментарии 14