Назад | Перейти на главную страницу

Tomcat записывает все в стандартный вывод

У меня Tomcat 6 установлен как служба Windows. Все сообщения журнала из моего веб-приложения мечтатель (вошел с getServletContext().log()) отправляются в журнал stdout вместо указанного мной файла журнала. Это произошло еще до того, как я добавил регистратор dreambear, когда сообщения все равно должны были попасть в журнал localhost вместо stdout.

Ниже приводится содержание logging.properties. Указанные файлы журнала созданы, хотя и пусты, поэтому, вероятно, в этом файле нет синтаксической ошибки или чего-то подобного.

handlers = \
    1catalina.org.apache.juli.FileHandler, \
    2localhost.org.apache.juli.FileHandler, \
    3manager.org.apache.juli.FileHandler, \
    4host-manager.org.apache.juli.FileHandler, \
    5dreambear.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 = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.

2localhost.org.apache.juli.FileHandler.level = FINE
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.FileHandler.prefix = localhost.

3manager.org.apache.juli.FileHandler.level = FINE
3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
3manager.org.apache.juli.FileHandler.prefix = manager.

4host-manager.org.apache.juli.FileHandler.level = FINE
4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
4host-manager.org.apache.juli.FileHandler.prefix = host-manager.

5dreambear.org.apache.juli.FileHandler.level = FINE
5dreambear.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
5dreambear.org.apache.juli.FileHandler.prefix = dreambear.

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

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.FileHandler

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/dreambear].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/dreambear].handlers = 5dreambear.org.apache.juli.FileHandler

Или мне просто использовать Log4J?

Является dreambear название веб-приложения? Или сервлет?

В этих двух строках

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/dreambear].level = INFO 
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/dreambear].handlers = 5dreambear.org.apache.juli.FileHandler

Это должно быть имя веб-приложения в [/ dreambear] а не сервлета. Тогда ваш лог будет работать.

также попробуйте изменить уровень ведения журнала на ВСЕ здесь

5dreambear.org.apache.juli.FileHandler.level = ALL