|
|
|
Log4j в Spring mvc
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток. Помогите разобраться с ошибкой. Веб приложение на spring mvc и крутится на томкате 7. Библиотеки log4j, slf4j и lombok добавлены. Но консоль выдаёт Код: powershell 1. 2. 3. 4. 5. 6. 7. 8. 9. Некоторые участки с "INFO" отлично проходят как видно из лога, но на не инициализацию log4j "матюкается". Буду премного благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2013, 22:10:54 |
|
||
|
Log4j в Spring mvc
|
|||
|---|---|---|---|
|
#18+
Настройка tomcat на использование log4j описана в штаной документации . Обратите внимание, куда именно кладутся необходимые причиндалы. Так вот, в любом раскладе, приложение не может содержать библиотек log4j, т.к. они уже грузится из common-/shared-classpath. Два против одного, что именно дублирование библиотек вызывает ваше "No appenders could be found". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2013, 19:12:58 |
|
||
|
Log4j в Spring mvc
|
|||
|---|---|---|---|
|
#18+
st4j, А покажите log4j.properties или log4.xml, как Вы настроили логи для пакетов спринга и по какому пути эти файлы попали в вебприложение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2013, 21:27:35 |
|
||
|
Log4j в Spring mvc
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovТак вот, в любом раскладе, приложение не может содержать библиотек log4j, т.к. они уже грузится из common-/shared-classpath. Это не мешает приложениям дублировать библиотеки - класслоадер в томкате устроен, так что всё что лежит в папке WEB-INF/lib имеет высший приоритет чем в расшаренных папках и класслоадер приложения сначала ищет классы в соей папке и только если не нашел нужного класса делигирует загрузку по цепочке common класслоадеру. tomcat documentation http://tomcat.apache.org/tomcat-6.0-doc/class-loader-howto.html As mentioned above, the web application class loader diverges from the default Java 2 delegation model (in accordance with the recommendations in the Servlet Specification, version 2.4, section 9.7.2 Web Application Classloader). When a request to load a class from the web application's WebappX class loader is processed, this class loader will look in the local repositories first, instead of delegating before looking. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2013, 21:36:31 |
|
||
|
Log4j в Spring mvc
|
|||
|---|---|---|---|
|
#18+
vimbaЭто не мешает приложениям дублировать библиотеки - класслоадер в томкате устроен, так что всё что лежит в папке WEB-INF/lib имеет высший приоритет чем в расшаренныхДавайте вы сначала дочитаете котовские мануалы по загрузчикам до деления на "серверный", "разделяемый" и "прикладной", подумаете, в каком порядке они работают, а потом почитаете, что такое "настроить томкат для использования log4j" и какой загрузчик обязан при этом использоваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2013, 16:57:15 |
|
||
|
Log4j в Spring mvc
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovДавайте вы сначала дочитаете котовские мануалы по загрузчикам до деления на "серверный", "разделяемый" и "прикладной", подумаете, в каком порядке они работают Нет уж только после Вас: When a web application needs to load a class, the request first comes to the web application class loader, which is responsible (as described above) for loading the classes in the web application's WEB-INF/classes and WEB-INF/lib folders. This class loader first delegates to the System class loader to allow the delegation hierarchy to locate any core Java classes. If the requested class cannot be found, then the web application class loader attempts to locate the class within its own repositories. If the class is still not found, it will delegate to the Common class loader, or to the Shared class loader if it is installed. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2013, 23:06:13 |
|
||
|
Log4j в Spring mvc
|
|||
|---|---|---|---|
|
#18+
vimbaНет уж только после Вас:Ещё раз: прочитайте про настройку log4j-логирования на сервере . Там, видимо специально для таких как вы, даже сказано примерно следующее: "если вам нужно использовать log4j только в приложении - не парьтесь и закиньте jar-ник в WEB-INF/lib". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2013, 16:33:11 |
|
||
|
Log4j в Spring mvc
|
|||
|---|---|---|---|
|
#18+
Эх раз ещё раз, ещё много-много-много раз. Basil A. SidorovТак вот, в любом раскладе, приложение не может содержать библиотек log4j, т.к. они уже грузится из common-/shared-classpath. То что log4j может грузится из common-/shared-classpath, никак не мешает мне иметь для каждого приложения свою версию библиотеки log4j. Допустим сценарий: 1. Задеплоено приложение "A" без библиотеки log4j в WEB-INF/lib, оно рассчитывает подхватить её из общих либ, допустим так и происходит, дело дошло до shared заррузчика(если он настроен) и он загрузил классы log4j для "A". 2. Теперь деплоется приложение "B", которое содержит в WEB-INF/lib библиотеку log4j, ну допустим версия в shared не устраивает и "B" нужен более новый log4j а может и наоборот более старый. Так вот приложение "B" получит свою версию log4j из папки WEB-INF/lib несмотря то что по требованию приложения "A" shared загрузчик уже подгрузил классы из другой либы в память, то есть разные версии классов log4j будут прекрасно сосуществовать в памяти. Поэтому ещё раз обновите в памяти иерархию класслоадеров в томкат, Вам это явно не помешает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2013, 17:10:09 |
|
||
|
Log4j в Spring mvc
|
|||
|---|---|---|---|
|
#18+
vimbaПоэтому ещё раз обновите в памяти иерархию класслоадеров в томкат, Вам это явно не помешает.А теперь повторите на бис, но предварительно настройте log4j для использования самим котярой. Про использование разных версий log4j - тоже знатная трава, хотя и простительная программисту. P.S. log4j.xml с использованием AsyncAppender могу дать готовый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2013, 17:20:51 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38365425&tid=2128808]: |
0ms |
get settings: |
15ms |
get forum list: |
27ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
58ms |
get topic data: |
22ms |
get forum data: |
6ms |
get page messages: |
91ms |
get tp. blocked users: |
3ms |
| others: | 284ms |
| total: | 520ms |

| 0 / 0 |
