У меня 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