Где хранить файлы журнала приложения WAR? - PullRequest
3 голосов
/ 14 ноября 2010

Я пытаюсь настроить ведение журнала для моего веб-приложения (WAR) в log4j.properties:

log4j.rootCategory=WARN, RF
log4j.appender.RF=org.apache.log4j.RollingFileAppender
log4j.appender.RF.File=???/my-app.log

Какой путь к файлу я должен указать для my-app.log? Где хранить этот файл? В настоящее время я развертываю свое приложение на Tomcat6, но кто знает, что произойдет в будущем. И кто знает, как именно Tomcat будет настроен / установлен на другой машине в будущем.

Ответы [ 4 ]

2 голосов
/ 30 декабря 2010

Что я наконец-то сделал:

  1. При непрерывной интеграции settings.xml Я определяю свойство log.dir
  2. В log4j.properties Я определяю: log4j.appender.RF.File=${log.dir}/my-app.log
  3. В pom.xml я приказываю Maven отфильтровать .properties файлов

Вот и все.Теперь я могу контролировать расположение файлов журналов в контейнере назначения без каких-либо изменений в исходном коде.

2 голосов
/ 14 ноября 2010

Ведение журнала - это дескриптор конфигурации развертывания, поэтому вы не можете обобщать. Конфигурация зависит от хост-машины и других нефункциональных требований проекта.

Обычно в tomcat я вхожу в ${catalina.home}/logs/myapp.log, но, как вы можете себе представить, если я разверну в weblogic, там не будет catalina.home, поэтому журнал перейдет в c: \ logs \ myapp.log.

1 голос
/ 14 ноября 2010

Какой путь к файлу я должен указать для my-app.log?Где хранить этот файл?

Если вопрос касается вашей личной машины, это не имеет значения.Разместите их там, где вам удобно (например, рядом с журналами сервера).

Если вопрос касается среды разработки, IST, UAT и т. Д., Журналы обычно следует записывать в отдельный / выделенный раздел.Но вы должны задать этот вопрос системным администраторам, у многих компаний есть стандарт эксплуатации, стандартизированные макеты.

В настоящее время я развертываю свое приложение на Tomcat6, но кто знает, что произойдет в будущем.

Это выстрел в темноте, так как, но вот нормализованный путь, который я использовал в прошлом: /var/log/tomcat/<PROJECTNAME>/myApp-<instance-#>.log.

И потому что я не лучше, чем вы, в гадании, да, кто знает, что произойдет в будущем:)

И кто знает, как именно будет настроен Tomcat /в будущем будет установлен на другом компьютере.

В этом прелесть файла конфигурации, вы можете настроить его по мере необходимости ... и даже изменить его:)

1 голос
/ 14 ноября 2010

Я согласен с @cherouvim.В общем случае вы должны поместить файл журнала за пределы веб-приложения и, желательно, в то же место, в котором контейнер помещает свой файл журнала.

Вы не хотите помещать их в дерево веб-приложения, потому что они будутполучить удар, если ваше веб-приложение будет повторно развернуто.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...