|
|
|
log4j+Spring- сохранение инфы от различных проектов в разные файлы
|
|||
|---|---|---|---|
|
#18+
Всем привет. Да столкнулся с проблемой. На одном сервере GlassFish стоит несколько проектов. Не могу разделить вывод логов каждого проекта в отдельный файл. Почему то гонит весь вывод по всем проектам в файл последнего отдеплоенного проекта. Для примера: 1-й проект: # LOG4J configuration log4j.rootLogger=INFO, AppenderPayR, PayRLog log4j.appender.AppenderPayR=org.apache.log4j.ConsoleAppender log4j.appender.AppenderPayR.layout=org.apache.log4j.PatternLayout log4j.appender.AppenderPayR.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n log4j.appender.AppenderPayR.layout.ConversionPattern=%-7p %d [%t] %c %x - %m%n log4j.appender.PayRLog=org.apache.log4j.DailyRollingFileAppender log4j.appender.PayRLog.File=../logs/payr.log log4j.appender.PayRLog.DatePattern='.'yyyy-MM-dd log4j.appender.PayRLog.layout=org.apache.log4j.PatternLayout log4j.appender.PayRLog.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%-5p] %c{1}:%L - %m%n В web.xml Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 2-й проект: # LOG4J configuration log4j.rootLogger=INFO, Appender1, RollingAppender log4j.appender.Appender1=org.apache.log4j.ConsoleAppender log4j.appender.Appender1.layout=org.apache.log4j.PatternLayout log4j.appender.Appender1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n log4j.appender.RollingAppender=org.apache.log4j.DailyRollingFileAppender log4j.appender.RollingAppender.File=../logs/rtask.log log4j.appender.RollingAppender.DatePattern='.'yyyy-MM-dd log4j.appender.RollingAppender.layout=org.apache.log4j.PatternLayout log4j.appender.RollingAppender.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n В web.xml Код: xml 1. 2. 3. 4. 5. 6. 7. 8. Что нужно поменять, чтобы инфа по каждому из приложений попадала только в свои файлы payr.log и rtask.log? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2014, 13:02 |
|
||
|
log4j+Spring- сохранение инфы от различных проектов в разные файлы
|
|||
|---|---|---|---|
|
#18+
Лог - вещь глобальная, его, грубо говоря, сервер приложения (web-сервер) делает. Поэтому расписываете один log4j.xml (.properties) для всех проектов, которые грузит ваш сервер приложений. Разделение приёмников делаете по категориям, которые вы, как автор проектов обязаны знать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2014, 13:48 |
|
||
|
log4j+Spring- сохранение инфы от различных проектов в разные файлы
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovРазделение приёмников делаете по категориям, которые вы, как автор проектов обязаны знать. Категориями могут выступать наименования root-пакетов проектов, например my.web.rtask и my.web.payr как здесь в примере? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2014, 14:17 |
|
||
|
log4j+Spring- сохранение инфы от различных проектов в разные файлы
|
|||
|---|---|---|---|
|
#18+
alex2808Категориями могут выступать наименования root-пакетов проектов, например my.web.rtask и my.web.payr как здесь в примере?Если имена проектов не связаны с именами пакетов, то не могут - категории назначают по полному имени класса. Но поскольку ситуация "есть несколько приложений на базе одного war" - вряд ли исключительная, то разработчики СП могут её предусмотреть. В этом случае в имя файла надо просто включить какую-то (предопределённую) переменную, которая будет раскрываться в разные значения для разных приложений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2014, 14:44 |
|
||
|
log4j+Spring- сохранение инфы от различных проектов в разные файлы
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorovпеременнуюсвойство. При выборе свойства надо учитывать, что сервер приложений должен сначала инициализировать значение свойства и только потом - log4j, а не наоборот. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2014, 14:48 |
|
||
|
log4j+Spring- сохранение инфы от различных проектов в разные файлы
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovЕсли имена проектов не связаны с именами пакетов, то не могут - категории назначают по полному имени класса. Можно завести свой логгер так чтобы к имени класса добавлялось имя контектса. В logback, вон вроде что-то уже готовое есть на эту тему http://logback.qos.ch/manual/loggingSeparation.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2014, 14:52 |
|
||
|
log4j+Spring- сохранение инфы от различных проектов в разные файлы
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorovalex2808Категориями могут выступать наименования root-пакетов проектов, например my.web.rtask и my.web.payr как здесь в примере?Если имена проектов не связаны с именами пакетов, то не могут - категории назначают по полному имени класса. Но поскольку ситуация "есть несколько приложений на базе одного war" - вряд ли исключительная, то разработчики СП могут её предусмотреть. Какая-то мудренная логика, не могу понять, чес слово. У меня есть проект, называется rtask например. Корневой package у него my.web.rtask, внутри есть еще подпакеты, но общий префикс у всех одинаков my.web.rtask. При развертывании отдельный - rtask.war Есть второй проект, называется payr например. Корневой package у него my.web.payr , внутри есть еще подпакеты, но общий префикс у всех одинаков my.web.payr. При развертывании отдельный - payr .war Нужно сделать так, чтобы вся инфа уровня INFO по проекту payr писалась в payr.log, а по проекту rtask - в rtask.log. Сейчас у меня в гласифише по умолчанию пишется в server.log. Попробовал переделать вышеуказанные примеры на Код: xml 1. 2. Не сработало. Пишет только в server.log. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2014, 16:10 |
|
||
|
log4j+Spring- сохранение инфы от различных проектов в разные файлы
|
|||
|---|---|---|---|
|
#18+
alex2808, off лично меня интересует запись в один лог, но с префиксами - корневое имя пакета. Т.к. пространства имен никогда не пересекаются. Так работает7 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2014, 16:19 |
|
||
|
log4j+Spring- сохранение инфы от различных проектов в разные файлы
|
|||
|---|---|---|---|
|
#18+
Petro123Так работает7 вместо 7 вопр.знак - ?)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2014, 16:20 |
|
||
|
log4j+Spring- сохранение инфы от различных проектов в разные файлы
|
|||
|---|---|---|---|
|
#18+
Petro123, Т.е. предлагаете не мудрить разделитель по файлам, а просто поставить опцию вывода полного имя класса %С, и потом использовать просто поиск по имени пакета событий? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2014, 16:24 |
|
||
|
log4j+Spring- сохранение инфы от различных проектов в разные файлы
|
|||
|---|---|---|---|
|
#18+
alex2808Petro123, Т.е. предлагаете не мудрить разделитель по файлам, а просто поставить опцию вывода полного имя класса %С, и потом использовать просто поиск по имени пакета событий? например ключом будет my.web.rtask.MyClass? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2014, 16:25 |
|
||
|
log4j+Spring- сохранение инфы от различных проектов в разные файлы
|
|||
|---|---|---|---|
|
#18+
alex2808, да. Один файл удобнее. Кроме того есть сторонние библиотеки, которые тебе не подвластны в кавычках ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2014, 16:26 |
|
||
|
log4j+Spring- сохранение инфы от различных проектов в разные файлы
|
|||
|---|---|---|---|
|
#18+
Petro123alex2808, да. Один файл удобнее. Кроме того есть сторонние библиотеки, которые тебе не подвластны в кавычках Удобство сомнительное, т.к. на одном серваке проектов 10-15, и все туда пишут. Инфу искать потом трудно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2014, 16:32 |
|
||
|
log4j+Spring- сохранение инфы от различных проектов в разные файлы
|
|||
|---|---|---|---|
|
#18+
alex2808например ключом будет my.web.rtask.MyClass? я фиг знает этот логировщик... В градле Android Studio есть Код: java 1. это всегда выводится после миллисекунд в логе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2014, 16:33 |
|
||
|
log4j+Spring- сохранение инфы от различных проектов в разные файлы
|
|||
|---|---|---|---|
|
#18+
alex2808Удобство сомнительное, т.к. на одном серваке проектов 10-15, и все туда пишут. Инфу искать потом трудно. может быть - пошукай в справке рыбы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2014, 16:34 |
|
||
|
log4j+Spring- сохранение инфы от различных проектов в разные файлы
|
|||
|---|---|---|---|
|
#18+
да, ещё не забудь что в рыбе - домены. Может конфиг надо в разные домены...... Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2014, 16:50 |
|
||
|
log4j+Spring- сохранение инфы от различных проектов в разные файлы
|
|||
|---|---|---|---|
|
#18+
alex2808 Код: xml 1. 2. Не сработало. Пишет только в server.log.Пишется в корневые получатели и дублируется в индивидуальные. Или не указываем корневые получатели и отключаем, где надо, наследование и тогда в этой категории индивидуально настраивается всё: Код: plaintext 1. 2. 3. 4. 5. 6. 7. XML (только как пример синтаксиса): Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. P.S. Включение-выключение наследования надо проверять: мне требовалось переопределить единственную категорию, поэтому я не проверял, что будет наследоваться дальше - корневые настройки или переопределённые. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2014, 19:31 |
|
||
|
log4j+Spring- сохранение инфы от различных проектов в разные файлы
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovИли не указываем корневые получатели и или отключаем, где надо, наследование ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2014, 19:34 |
|
||
|
log4j+Spring- сохранение инфы от различных проектов в разные файлы
|
|||
|---|---|---|---|
|
#18+
Если я всё правильно понял и помню, то должно быть так: log4j.xml Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. XML - чтобы задействовать AsyncAppender. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2014, 19:55 |
|
||
|
log4j+Spring- сохранение инфы от различных проектов в разные файлы
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovЕсли я всё правильно понял и помню, то должно быть так: log4j.xml Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. "a.b" > и "c.d" - это корневой package приложения? Например как в моем случае my.web.rtask? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2014, 22:30 |
|
||
|
log4j+Spring- сохранение инфы от различных проектов в разные файлы
|
|||
|---|---|---|---|
|
#18+
alex2808 "a.b" > и "c.d" - это корневой package приложения?Минимально различающаяся часть пакетов. Это может быть и "com"/"org" и "com.app1"/"com.app2" и "com.company.app1"/"com.company.app2". P.S. "Роспись иерархии" - дело сугубо индивидуальное, т.к. цели и требования у всех разные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2014, 22:39 |
|
||
|
log4j+Spring- сохранение инфы от различных проектов в разные файлы
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovЕсли я всё правильно понял и помню, то должно быть так: log4j.xml Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. "a.b" > и "c.d" - это корневой package приложения? Например как в моем случае my.web.rtask? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2014, 18:17 |
|
||
|
log4j+Spring- сохранение инфы от различных проектов в разные файлы
|
|||
|---|---|---|---|
|
#18+
Судя по Код: xml 1. 2. 3. да, но только если имя приложения совпадает с именем пакета. Неужели вам неизвестна иерархия классов вашего приложения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2014, 21:51 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=59&tid=2126731]: |
0ms |
get settings: |
7ms |
get forum list: |
22ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
159ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 457ms |

| 0 / 0 |
