Я пытаюсь настроить независимые журналы доступа для моего приложения .war в tomcat, но я не могу понять, что не получается.
Цель состоит в том, чтобы иметь отдельную регистрацию доступа для запросов, поступающих в мое приложение, без необходимости полагаться на глобальный журнал доступа tomcat.
Я понимаю, что для этого я должен создать свой собственный файл конфигурации контекста с AccessLogValve, указывающим, куда я буду писать.
Я создал META-INF / context.xml в файле WAR моего приложения с содержанием:
<Context path="/Stubby">
<Valve class="org.apache.catalina.valves.AccessLogValve"
rotatable="true"
directory="/var/SP/log/stubby"
prefix="access.log_"
suffix=""
fileDateFormat="yyyyMMdd_HH"
pattern="combined"
buffered="false"
resolveHosts="false"
/>
</Context>
При запуске tomcat я вижу, что этот файл копируется в conf / Catalina / localhost / Stubby.xml, но во время процедуры загрузки приложения возникает ошибка синтаксического анализа:
SEVERE: Begin event threw exception
java.lang.NullPointerException
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:295)
(...)
Jul 13, 2011 6:16:12 PM org.apache.catalina.startup.ContextConfig processContextConfig
SEVERE: Parse error in context.xml for /Stubby
java.lang.NullPointerException
at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2806)
at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2832)
at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1359)
Что здесь не так? Я пропускаю какое-либо обязательное свойство в декларации?