tomcat 7 jdbc лог-клапан доступа не работает

Привет, я пытаюсь использовать БД для регистрации доступа в моем приложении Tomcat.

Я следовал за документацией кота. https://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/catalina/valves/JDBCAccessLogValve.html

Сервер вроде бы нормально загружается, но я не вижу записей, созданных в таблице. Но я мог видеть, что tomcat выбирает параметры подключения (если я задаю неверные параметры подключения, сервер не загружается)

Это моя конфигурация server.xml для регистрации доступа

    <Valve className="org.apache.catalina.valves.JDBCAccessLogValve"
           driverName="com.mysql.jdbc.Driver"
           connectionURL="jdbc:mysql://localhost:3306/test?user=root"
          pattern="combined" resolveHosts="false" tableName="access" />

Я использую комбинированный шаблон, и созданная таблица имеет точную схему, указанную в документации -

CREATE TABLE access (
id INT UNSIGNED AUTO_INCREMENT NOT NULL,
remoteHost CHAR(15) NOT NULL,
userName CHAR(15),
timestamp TIMESTAMP NOT NULL,
virtualHost VARCHAR(64) NOT NULL,
method VARCHAR(8) NOT NULL,
query VARCHAR(255) NOT NULL,
status SMALLINT UNSIGNED NOT NULL,
bytes INT UNSIGNED NOT NULL,
referer VARCHAR(128),
userAgent VARCHAR(128),
PRIMARY KEY (id),
INDEX (timestamp),
INDEX (remoteHost),
INDEX (virtualHost),
INDEX (query),
INDEX (userAgent)
);

Catalina.out, похоже, не регистрирует какую-либо информацию, полезную для этого контекста.

PS Я понимаю, что в журнале БД есть много точек сбоя, но основная база данных моего приложения такая же, как эта. Таким образом, точка отказа вроде бы общая.

1 ответ

Вам необходимо определить имя пользователя и пароль как отдельные теги подэлементов, а не через URL-адрес соединения.

Подобно:

  <Valve className="org.apache.catalina.valves.JDBCAccessLogValve"  
    driverName="com.mysql.jdbc.Driver"
    connectionURL="jdbc:mysql://localhost:3306/testdbName"
    connectionName="root"
    connectionPassword=""/>

Для отладки вы можете попробовать "Запросить клапан сброса давления", чтобы увидеть, что именно происходит. Смотрите: http://tomcat.apache.org/tomcat-7.0-doc/config/filter.html

Другие вопросы по тегам