Когда tomcat запускается как служба, его конфигурация регистрации по умолчанию фактически отменяет любую конфигурацию регистрации конкретного приложения. Как сказал Аарон, наилучшим способом настройки конфигурации является использование tomcatw // ES // tomcat_service_name, например. tomcat_service_name может быть Tomcat5 в зависимости от ваших настроек установки (также, используйте tomcatw, а не tomcat - оба исполняемых файла можно найти в C: \ Program Files \ Apache Software Foundation \ Tomcat 5.0 \ bin). В этом post объясняется, как вы можете убедиться, что вы используете правильное имя службы (если в диалоговом окне нет значений, имя, вероятно, неверно).
Я бы опубликовал изображение, но у меня нет достаточного количества репутации. На вкладке Java VM введите конфигурацию в Java Options, например. -Dlog4j.configuration = service.log4j.properties
Файл, содержащий вашу конфигурацию ведения журнала, затем можно поместить в каталог классов tomcat, например. C: \ Program Files \ Apache Software Foundation \ Tomcat 5.0 \ server \ classes.
Существует несколько мест, где вы можете поместить файл конфигурации ведения журнала. Сначала я попытался указать полный путь для файла конфигурации ведения журнала, но log4j, похоже, проверяет только определенные пути. Как указано в этом post, поместите -Dlog4j.debug в качестве первой строки в параметрах Java и вы можете отлаживать, что делает log4j.Каталог классов серверов указан как один из возможных путей поиска.
При создании файла log4j.properties назовите его чем-то иным, чем log4j.properties, например. service.log4j.properties. Именование его log4j.properties приводит к тому, что файл приложения log4j.properties может быть найден, что может переопределить вашу конфигурацию, но затем будет игнорироваться службой tomcat.
Проверьте свойства сервиса - какая команда запускает Windows для запуска Tomcat? –
Служба запускается с вызовом org.apache.catalina.startup.Bootstrap с началом аргумента в режиме JVM – FacilityDerek