![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| maddoc |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 364 Регистрация: 11.5.2005 Репутация: нет Всего: 1 |
Привет.
Подскажите, как организовать подобие логгера. Есть приложение, в котором около 50 потоков. Нужно создать логгер (желательно 1) для логгирования поведения потоков. Спасибо! -------------------- "Безвыходных положений не бывает" (с) Камасутра |
|||
|
||||
| Skipy |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 487 Регистрация: 24.8.2006 Где: Москва, Россия Репутация: 6 Всего: 16 |
А в чем проблема? Создаете один статический логгер и используете. Потоки различаете по имени. Можно по диагностическому контексту. Вообще про логгеры можно почитать тут: http://www.skipy.ru/useful/logging.html.
|
|||
|
||||
| Peter |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 771 Регистрация: 28.7.2003 Где: Ставрополь Репутация: нет Всего: 1 |
Мы для этих целей используем log4cxx
-------------------- всё, что делаете, делайте от души, как для Господа (Послание апостола Павла колоссянам, 3:23). |
|||
|
||||
| maddoc |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 364 Регистрация: 11.5.2005 Репутация: нет Всего: 1 |
парни, мне нужен свой логгер.
Skipy, Если я создам статический логгер, то при работе с множеством потоков, не будет ли зависания? в приложении есть потоки которые работают долго, работа с БД и видео. -------------------- "Безвыходных положений не бывает" (с) Камасутра |
|||
|
||||
| pathfinder |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 120 Регистрация: 3.3.2010 Репутация: 2 Всего: 10 |
Разбей логгер на две части: frontend и backend. C frontend-ом у тебя будут взаимодействовать другие части твоего приложения. Однако сам frontend не будет заниматься логгированием, а будет лишь складывать записи лога в очередь. Backend в отдельном потоке будет реально заниматься логгированием, читая записи лога из очереди и сохраняя их в БД или еще куда-нибудь. Естественно используемая очередь должна быть синхронной.
Производительность такого логгера будет определятся скоростью добавления очередного элемента в очередь. |
|||
|
||||
| Skipy |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 487 Регистрация: 24.8.2006 Где: Москва, Россия Репутация: 6 Всего: 16 |
Все зависит не от количества потоков, а от количества данных, которые в логгер выводятся. В крайнем случае можно организовать асинхронный аппендер. В самом крайнем - написать свой (тоже асинхронный). Это сообщение отредактировал(а) Skipy - 16.6.2010, 10:17 |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |