【发布时间】:2014-09-14 02:24:16
【问题描述】:
您好,我正在尝试在我的 tomcat 应用程序中使用 db 进行访问日志记录。
我遵循了 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 我知道数据库日志记录有很多故障点,但我的应用程序的主数据库与这个相同。所以故障点是共享的。
【问题讨论】:
标签: mysql jdbc tomcat7 access-log tomcat-valve