powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Где jetty ищет log4j.properties ?
16 сообщений из 16, страница 1 из 1
Где jetty ищет log4j.properties ?
    #39299024
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Недавно узнал, что можно сделать так, чтобы log4j.properties мог лежать за пределами приложения. В общих чертах понял, что по умолчанию джетти ищет log4j.properties в каком-то порядке. Сначала в одной папке, потом в другой и так далее.

Но никак нагуглить этот порядок не могу. С другой стороны ведь в контейнере может быть задеплоено несколько приложений и у каждого должен быть свой файл.

Разложите пожалуйста по полочкам, что я понял так, а что не понял.
...
Рейтинг: 0 / 0
Где jetty ищет log4j.properties ?
    #39299025
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я именно про логи приложения, а не про логи контейнера.
...
Рейтинг: 0 / 0
Где jetty ищет log4j.properties ?
    #39299737
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос непонятный или сложный?
...
Рейтинг: 0 / 0
Где jetty ищет log4j.properties ?
    #39299806
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Где jetty ищет log4j.properties ?
    #39299982
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Atum1questioner,

http://stackoverflow.com/questions/4400583/initializing-log4j-with-spring

Это?

http://stackoverflow.com/questions/4400583/initializing-log4j-with-spring Rather than configuring log4j yourself in code, why not just point log4j at your (custom) configuration file's location by adding

-Dlog4j.configuration=.../conf/log4j.xml
to your server's startup properties?

Even better, just move log4j.xml to the default location - on the classpath - and let log4j configure itself automatically.

Наверное это. я только не понимаю наверное чего-то.

Вот если я не указал ключика
Код: java
1.
-Dlog4j.configuration=.../conf/log4j.xml



вроде как ищется в classpath конфигурация. а где classpath у задеплоенного варника?
...
Рейтинг: 0 / 0
Где jetty ищет log4j.properties ?
    #39300079
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наверное так для Мавена

Код: java
1.
/src/main/resources/log4j.properties
...
Рейтинг: 0 / 0
Где jetty ищет log4j.properties ?
    #39300119
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Atum1наверное так для Мавена

Код: java
1.
/src/main/resources/log4j.properties



1. У нас gradle
2. gradle/maven они же для сборки варника и нужны. внутри варника настраивается classpath приложения?
...
Рейтинг: 0 / 0
Где jetty ищет log4j.properties ?
    #39300134
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Atum1наверное так для Мавена

Код: java
1.
/src/main/resources/log4j.properties



Ну и вся суть вытащить конфигурацию логирования за пределы WAR чтобы не надо было пересобирать варник, чтобы просто поменять уровень логирования для пакета
...
Рейтинг: 0 / 0
Где jetty ищет log4j.properties ?
    #39300172
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerза пределы WAR
-Dlog4j.configuration=ftp://ftp
хоть в Африку на фтп сервер
...
Рейтинг: 0 / 0
Где jetty ищет log4j.properties ?
    #39300230
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

Да-да-да.

А если не указан ключик явно, то будет искаться где?

Есть ли такое место? (вне war-а)
...
Рейтинг: 0 / 0
Где jetty ищет log4j.properties ?
    #39300245
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questioner,
вне war нелогично.
- либо ключик, либо это конфиг ВебПриложения. Значит в корне развёрнутого приложения на сервере.
...
Рейтинг: 0 / 0
Где jetty ищет log4j.properties ?
    #39300289
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

http://stackoverflow.com/a/4400786/2674303

последняя фраза в ответе про classpath, который внутри варника?
...
Рейтинг: 0 / 0
Где jetty ищет log4j.properties ?
    #39300306
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questioner,
да
...
Рейтинг: 0 / 0
Где jetty ищет log4j.properties ?
    #39300501
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerНу и вся суть вытащить конфигурацию логирования за пределы WARХоспидя ...
Код: plaintext
java -cp просто-каталог;прочаяя;бла;бла;бла
"просто-каталог" становится частью класс-путя и механизм автоконфигурации log4j посмотрит там умалчиваемые .xml/.properties.
У сервлет-контейнеров есть штатный каталог для .class-файлов - можно и туда складывать.
...
Рейтинг: 0 / 0
Где jetty ищет log4j.properties ?
    #39300723
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. Sidorov
Код: plaintext
java -cp просто-каталог;прочаяя;бла;бла;бла


а где это написать то?


я просто варник собираю и подкладываю куда надо
...
Рейтинг: 0 / 0
Где jetty ищет log4j.properties ?
    #39301380
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опять-таки, на примере котяры. У других сервлет-контейнеров аналогично, только надо уточнять детали в документации.
Есть два каталога: первый задаётся свойством catalina.home, второй - свойством catalina.base. Штатные скрипты запуска используют одинаковые значения для обоих свойств.
Есть стандартный набор свойств, прописанный в файле catalina.properties (Tomcat 7.0, строки "сложены" в юникс-стиле):
Код: plaintext
1.
2.
3.
4.
5.
6.
...
common.loader=\
  ${catalina.base}/lib ,\
 ${catalina.base}/lib/*.jar,\
 ${catalina.home}/lib,\
 ${catalina.home}/lib/*.jar
...
"Отсюда с очевидностью следует", что в штатный для контейнера класспутя входит целых два каталога, но второй лучше не захламлять.
Таким образом, администратор, отвечающий за установку tomcat-а и развёртывание в нём приложений, должен разместить log4j.xml (log4j.properties) внутри ${catalina.base}/lib.

Вариант, "java -cp каталог;..." используется в скриптах запуска, чтобы не морочиться зубодробительным синтаксисом файловых URL-ей.

P.S. В "новых" котярах для каждого приложения автоматически переопределяются специальные свойства для каждого приложения. Это позволяет, используя один шаблон, разнести логи каждого приложения по отдельным файлам.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Где jetty ищет log4j.properties ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]