Не можете заставить tomcat-maven-plugin создать файл журнала? - PullRequest
8 голосов
/ 01 октября 2011

Я использую цель mvn tomcat: run-war и получаю структуру каталогов, в которой есть каталог журналов. Но, увы, без журнала. Я бы просто заменил это на log4j, но это оказалось трудным по ряду причин.

Я попытался явно настроить конфигурацию файла журнала. Мое определение pom.xml в настоящее время выглядит так:

 <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>tomcat-maven-plugin</artifactId>
            <configuration>
                <port>8084</port>
                <systemProperties>
                     <java.util.logging.config.file>${basedir}/src/main/webapp/WEB-INF/logging.properties</java.util.logging.config.file>
                </systemProperties>
            </configuration>
            <version>1.1</version>
  </plugin>

При запуске я вижу, что свойство читается. Мой файл свойств ниже; Я выкидываю вещи в / tmp, чтобы быть уверенным, что знаю, где искать.

handlers = 1catalina.org.apache.juli.FileHandler, \
           2localhost.org.apache.juli.FileHandler, \
           3manager.org.apache.juli.FileHandler, \
           java.util.logging.ConsoleHandler

.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################    

1catalina.org.apache.juli.FileHandler.level = FINE
1catalina.org.apache.juli.FileHandler.directory = /tmp/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.

2localhost.org.apache.juli.FileHandler.level = FINE
2localhost.org.apache.juli.FileHandler.directory = /tmp/logs
2localhost.org.apache.juli.FileHandler.prefix = localhost.

3manager.org.apache.juli.FileHandler.level = FINE
3manager.org.apache.juli.FileHandler.directory = /tmp/logs
3manager.org.apache.juli.FileHandler.prefix = manager.
3manager.org.apache.juli.FileHandler.bufferSize = 16384

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter


############################################################
# Facility specific properties.
# Provides extra control for each logger.
############################################################

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = \
   2localhost.org.apache.juli.FileHandler

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = \
   3manager.org.apache.juli.FileHandler

Буду очень признателен, если у кого-нибудь возникнут мысли.

1 Ответ

3 голосов
/ 20 июня 2012

Я только что прошел похожий процесс, но не совсем успешно ...

Первое, на что нужно обратить внимание, это то, что вам необходимо четко указать, хотите ли вы изменить конфигурацию ведения журнала для вашего веб-приложения или для самого Tomcat. См. документацию по ведению журнала на веб-сайте Tomcat для получения дополнительной информации, в частности:

Это означает, что протоколирование можно настроить на следующих уровнях:

  • Глобально. Обычно это делается в файле $ {catalina.base} /conf/logging.properties. Файл определяется системным свойством java.util.logging.config.file, которое задается сценариями запуска. Если он недоступен для чтения или не настроен, по умолчанию используется файл $ {java.home} /lib/logging.properties в JRE.
  • В веб-приложении. Файл будет WEB-INF / classes / logging.properties

После этого я могу перенастроить ведение журнала моего приложения при развертывании на автономном сервере Tomcat. Однако мне не удалось заставить его работать с плагином Maven Tomcat - я обнаружил, что кто-то подал ошибку MTOMCAT-127 , которая на момент написания статьи не была решена, и, похоже, описывает то, что я видел.

Так что не совсем удачно - но я надеюсь, что смогу вернуться и обновить этот ответ, как только проблема MTOMCAT-127 будет решена ...

...