Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/14: Рейтинг темы: голосов - 14, средняя оценка - 4.71
1 / 1 / 5
Регистрация: 22.07.2007
Сообщений: 366

Log4J and Tomcat4(WSDP)

14.04.2010, 20:38. Показов 2953. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день,
Немогу подключить Log4J к Tomcat4(with WebService DevPack) инструкция в short manual дословно гласит :

[code]
Under Tomcat 3.x and 4.x, you should place the log4j.properties under the WEB-INF/classes directory of your web-applications. Log4j will find the properties file and initialize itself. This is easy to do and it works.
[code]

Исходя из этого я создал такой довольно простой конфигурационный файл
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Set root logger level
log4j.rootLogger=DEBUG, A1, R
 
# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender
 
# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%c{1} - %m%n
 
log4j.appender.R=org.apache.log4j.FileAppender
log4j.appender.R.File=d:\web\distribution\mpas\1\logs\mpas.log
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%c{1} - %m%n
Но в итоге я не получаю никакого лога в свой FileAppender

Но получаю некоторого рода предупреждение в launcher.server.log
Code
1
2
log4j:WARN No appenders could be found for logger (org.apache.catalina.startup.Embedded).
log4j:WARN Please initialize the log4j system properly.
Извените что так долго излагал . Подскажите что я сделал не так ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.04.2010, 20:38
Ответы с готовыми решениями:

Кодировка страниц в Tomcat4
Можно ли с помощью настроек заставить Tomcat4 выдавать страницы в нужной кодировке? (выдает Киррилица(ISO) а надо Киррилица(Windows),а ...

Не могу обуздать Tomcat4
Прочитал все что есть на форуме об этом, но в голове еще бОльшая мешанина получилась :( У меня JBuilder6, в его состав входит каталог...

Log4j в разные файлы
Подскажите как можно записывать с log4j каждую сессию в разные файлы. то есть в приложении записывать каждую сессию в разные файлы. имя...

18
1 / 1 / 5
Регистрация: 22.07.2007
Сообщений: 366
14.04.2010, 22:30  [ТС]
Единственное что я смог потом сделать это положить конфигурацию log4J в папку
Code
1
C:jwsdpcommonclasses
Но тогда получается общий лог для всех applications. Но такой хокей нам не нужен!. Конфигурационный файл который лежит в WEB_INF/classes tomcat упорно не видит
0
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
15.04.2010, 12:18
вы описали аппендеры (основа), теперь вам нужно, собственно настроить сами логгеры (мясо, как говорится .

я предпочитаю рисовать конфиг в ХМЛ, но, думаю, проблем перевести в формат пропертис у вас не возникнет.

Code
1
2
3
4
<logger name='some.package' additivity='false'>
   <level value='INFO'/>
   <appender-ref ref='R'/>
</logger>
параметр additivity=false гарантирует, что лог пойдет только в файл и не будет дублироваться еще куда-нибудь, например, на консоль или в базу.

параметр name может принять значение или пакета, или конкретного класса.

успехов
0
0 / 0 / 0
Регистрация: 22.07.2009
Сообщений: 457
15.04.2010, 19:12
Извините, что не в тему. А стоит ли овчинка выделки? Такой гемморой, чтобы логи в файл писать. Это уже не джава программирование, а больше похоже на работу админа - найти игрушку, поставить и настроить. Завтра выйдет новая игрушка - повторить процедуру.
0
0 / 0 / 1
Регистрация: 13.09.2007
Сообщений: 55
15.04.2010, 20:43
to mselez
Такой вопрос, а куды Вы логи пишите и пишите ли их вообще?
0
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
15.04.2010, 20:51
это как раз и есть разработка качественных систем. когда у вас объем базы 7 ГигаБайт (тестовые данные), ява веб-приложение достигает 20 МБ, то как вы будете следить за всем этим хозяйством. вот и пишется 5 логов в файлы для различных подсистем, лог в системный лог базы, лог через хранимые процедуры, доступный в основном приложении, да еще и лог сетевой на контрольный монитор.

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

так что все очень даже оправдано
0
0 / 0 / 0
Регистрация: 22.07.2009
Сообщений: 457
15.04.2010, 22:05
А мы в файл вручную пишем. Возникает проблема - думаем, какой лог нужен и вставляем код в систему. Только не всегда лог помогает .
0
0 / 0 / 1
Регистрация: 13.09.2007
Сообщений: 55
16.04.2010, 03:41
а стоит ли писать логи в БД?
0
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
16.04.2010, 11:06
представьте, что у вас парк из 40 серверов, доступ к которым охраняется и круглосуточное наблюдение видеокамер ведется. если писать просто в файл, то вроде и не проблема - для админов. они зайдут через SSH на серверы и почитают логи без проблем. а что делать человеку, отвечающему за конкретное приложение и знать ничего не знающему про удаленное администрирование юних серверов? бегать в серверную не получится, по сети он не умеет... а вот как раз из базы приложение очень доступно и наглядно ему может показать логи, относящиеся к его участку. писать логи в базу - нормальная ситуация для больших организаций. когда прирост объемов данных в год не превышает 120 ГБайт в год, то на экономию места в базе даже не заморачиваются (реальный случай с заказчиком). да и обработку логов (не просмотр, а именно некий анализ) легче вести из базы, чем из файла.
0
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
16.04.2010, 11:09
2 mselez

а как вы поступаете, когда появились проблемы, и нужно, чтобы приложение выдавало больше отладочной информации? или наоборот, после разработки выключить дебаг в продакшн системе?

log4j позволяет все это производить, не меняя ни строчки кода, а всего лишь переключением параметра verbosity level между DEBUG, INFO, WARN, ERROR, FATAL. просто и сердито
0
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
16.04.2010, 11:11
ну блин, меня понесло

как вы включаете/выключаете логи отдельных компонентов, пакетов, классов?

log4j, опять же, решает эту проблему легко и изящно.

вывод - если вы еще не использовали ничего подобного, то рекомендую и советами помогу по ходу дела. 1 рекомендация - использовать логи через org.apache.commons.logging пакет, он позволяет позже легко переключаться между имплементациями log4j, JDK 1.4 log, etc.
0
0 / 0 / 0
Регистрация: 22.07.2009
Сообщений: 457
18.04.2010, 18:32
2mr_dronski
Спасибо за наводку. Конечно, это надо осваивать. Мы пока обходились, потому что у нас один сервер и мы все в одной комнате сидим.
0
1 / 1 / 5
Регистрация: 22.07.2007
Сообщений: 366
18.04.2010, 23:14  [ТС]
Только я не пойму этого Токэта всё равно. Когда я иму кладу Log4J.jar в common/lib он его видит и пытается логить через него свои классы (причём если на зарубить ROOT=DEBUG то валит легко на 100Мег за один старт). Но если положить Log4J.jar в своё вебархив в папку WEB-INF/lib то он его не видит. Хотя должен !. Потому что для того эта папка и существует что бы в ней лежали все классы которые индивидуально юзаются моим приложением
0
1 / 1 / 5
Регистрация: 22.07.2007
Сообщений: 366
18.04.2010, 23:14  [ТС]
Только я не пойму этого Токэта всё равно.
Когда я иму кладу Log4J.jar в common/lib он его
видит и пытается логить через него свои классы (
причём если на зарубить ROOT=DEBUG то валит легко
на 100Мег за один старт). Но если положить Log4J.jar в
своё вебархив в папку WEB-INF/lib то он его не видит.
Хотя должен !. Потому что для того эта папка и
существует что бы в ней лежали все классы которые
индивидуально юзаются моим приложением
0
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
19.04.2010, 10:50
там фишки с класслоадерами происходят. киньте и туда, и туда либу.
0
1 / 1 / 5
Регистрация: 22.07.2007
Сообщений: 366
19.04.2010, 19:01  [ТС]
Так и сделал. После этого заработало. То есть надо делать общий jar и общий файл конфигурации (пустой - вообще без аппендеров). И в каждом проекте свой jar и свой конфигурационный файл. Тогда работает отлично.
0
0 / 0 / 0
Регистрация: 22.07.2009
Сообщений: 457
03.05.2010, 21:03
А как настроить, чтобы имя файла включало дату, т.е. чтобы лог писался каждый день в новый файл. Или нельзя это в log4j?
0
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
04.05.2010, 11:36
Code
1
2
3
4
5
6
7
<appender name='MASTER_FILE_LOG' class='org.apache.log4j.DailyRollingFileAppender'>
        <param name='File' value='mcm_application.log'/>
        <param name='DatePattern' value=''.'dd-MM-yyyy'/>
        <layout class='org.apache.log4j.PatternLayout'>
            <param name='ConversionPattern' value='%p [%d{DATE}] - %c{1} -> %m%n'/>
        </layout>
    </appender>
сначала файл будет иметь вид 'mcm_application.log'. на следующие сутки он переименовывается в 'mcm_application.log.24-02-2004', а сегодняшний файл называется опять 'mcm_application.log'.

удачи
0
0 / 0 / 0
Регистрация: 22.07.2009
Сообщений: 457
04.05.2010, 17:55
Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.05.2010, 17:55
Помогаю со студенческими работами здесь

Log4J Configuration File
Собственно, не получается сконфигурировать log4j через xml файл. Делаю по http://*********/useful/logging.html#log4j_init и...

Log4j и аналогичные библиотеки
Здравствуйте! Какие аналоги ещё существуют? Почему их практически не используют?

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

Правильная настройка log4j
Ребята перешел к изучению логирования в java. Остановился на log4j Пытаюсь создать простой проект чтобы проверить Использую eclips...

Настройка логгера Log4j
Я хочу что бы все &gt;= WARN попадало в консоль, а все что &gt;= DEBUG писалось в файл Ожидал что такие настройки log4j.properties так и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
[В процессе разработки] SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru