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

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

Разложите пожалуйста по полочкам, что я понял так, а что не понял.
...
Рейтинг: 0 / 0
27.08.2016, 18:03
    #39299025
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где jetty ищет log4j.properties ?
Я именно про логи приложения, а не про логи контейнера.
...
Рейтинг: 0 / 0
29.08.2016, 16:45
    #39299737
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где jetty ищет log4j.properties ?
Вопрос непонятный или сложный?
...
Рейтинг: 0 / 0
29.08.2016, 18:21
    #39299806
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где jetty ищет log4j.properties ?
...
Рейтинг: 0 / 0
30.08.2016, 09:59
    #39299982
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где jetty ищет log4j.properties ?
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
30.08.2016, 11:08
    #39300079
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где jetty ищет log4j.properties ?
наверное так для Мавена

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

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



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

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



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

Да-да-да.

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

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

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

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


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


я просто варник собираю и подкладываю куда надо
...
Рейтинг: 0 / 0
31.08.2016, 17:53
    #39301380
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где jetty ищет log4j.properties ?
Опять-таки, на примере котяры. У других сервлет-контейнеров аналогично, только надо уточнять детали в документации.
Есть два каталога: первый задаётся свойством 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
Форумы / Java [игнор отключен] [закрыт для гостей] / Где jetty ищет log4j.properties ? / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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