Tomcat6 частично игнорирует logging.properties - PullRequest
2 голосов
/ 09 июня 2010

Я использую Tomcat 6, и это мой logging.properties:

handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
.level=FINE

org.apache.catalina.core.ApplicationContext.level = OFF

org.apache.juli.FileHandler.level = ALL
org.apache.juli.FileHandler.directory = ${catalina.base}/logs
org.apache.juli.FileHandler.prefix = mylog.

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

С одной стороны, Tomcat, похоже, читает этот файл, так как он правильно сохраняет файлы журналов с префиксом «mylog» и печатает только сообщения с уровнем журнала FINE и выше. С другой стороны, он продолжает писать сообщения журнала, как это:

Jun 8, 2010 9:53:30 PM org.apache.catalina.core.ApplicationContext log
SEVERE: Error writing messages
ClientAbortException:  java.net.SocketException: Broken pipe

Я действительно хотел подавить все сообщения журнала из этого класса, так как они заполняют мой файл журнала, и ошибка для меня не имеет значения. Так почему следующая строка игнорируется?

org.apache.catalina.core.ApplicationContext.level = OFF

Есть ли другой способ подавить вывод журнала этого класса?

Ответы [ 2 ]

2 голосов
/ 28 июня 2010

Я думаю, Redlab на правильном пути - обратите внимание, что корень имени регистратора - org.apache.catalina.core.ContainerBase, а не org.apache.catalina.core.StandardContext.Метод org.apache.catalina.core.ContainerBase.logName() управляет именем регистратора и явно начинается с ContainerBase.class.getName().Просто чтобы уточнить, StandardContext расширяет ContainerBase.

2 голосов
/ 23 июня 2010

org.apache.catalina.core.ApplicationContext - это не имя средства ведения журнала, используемого в ApplicationContext, оно использует составной журнал: журнал org.apache.catalina.core.StandardContext.

- редактирование: Может быть, это потому, что они регистраторы контекста. Тогда их нужно настроить по-другому

что-то вроде

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

Я не делал этого раньше, я никогда не пользовался средствами регистрации tomcat, и info не так много, чтобы найти

...